Avatar billede wired Nybegynder
28. februar 2007 - 01:59 Der er 12 kommentarer og
1 løsning

Input data fra et DetailsView

Hvordan får jeg input data fra et DetailsView?

----
Har hentet et DetailsView ind på siden, sat default mode til Edit, og tilføjet følgende:
    protected void Page_Load(object sender, EventArgs e)
    {
      DataTable DT = new DataTable("TestDV");
      DT.Columns.Add("Navn");
      DataRow TR = DT.NewRow();
      TR["Navn"] = "Martin Nielsen";
      DT.Rows.Add(TR);
      DetailsView1.DataSource = DT;
      DetailsView1.DataBind();
    }

Men følgende kan åbenbart ikke bruges til at modtage de input brugere indtaster:

    protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
    {
        Label1.Text = DetailsView1.Rows[1].Cells[1].Text;
    }

Hvordan får jeg input data fra et DetailsView?
----
Avatar billede dr_chaos Nybegynder
28. februar 2007 - 07:47 #1
prøv med
Label1.Text = DetailsView1.Rows[0].Cells[0].Text;
Avatar billede wired Nybegynder
28. februar 2007 - 07:53 #2
Så jeg labelnavn og ikke input
Avatar billede kalp Novice
28. februar 2007 - 08:06 #3
DetailsView1.SelectedValue.ToString();
Avatar billede kalp Novice
28. februar 2007 - 08:13 #4
Ved ikke om det er fordi du vil hente data på det event der, men du kan i hvertfald også prøve.

e.NewValues.Values.ToString();
e.ToString();
Avatar billede dr_chaos Nybegynder
28. februar 2007 - 08:28 #5
vrøvl det var mig
Label1.Text = DetailsView1.Rows[0].Cells[1].Text;
Avatar billede dr_chaos Nybegynder
28. februar 2007 - 08:29 #6
Burde virke.
Gawi e.NewValues virker kun hvis man bruger datasource sammen med sit detailsview.
Avatar billede mochr Nybegynder
28. februar 2007 - 11:49 #7
Så vidt jeg ved er det:(Forud sat det er række 0 og celle o)
Label lblText = (Label)DetailsView1.Rows[0].Cells[0].Controls[1];
Avatar billede wired Nybegynder
28. februar 2007 - 12:55 #8
Label1.Text = "Result"+ DetailsView1.Rows[0].Cells[0].Text;
// Giver: Cellen med label "Navn"

Label1.Text = DetailsView1.SelectedValue.ToString();
// Giver: System.NullReferenceException: Object reference not set to an instance of an object.

Label1.Text = e.NewValues.Values.ToString();
// Giver: System.Collections.Specialized.OrderedDictionary+OrderedDictionaryKeyValueCollection

Label1.Text = e.ToString();
// Giver: System.Web.UI.WebControls.DetailsViewUpdateEventArgs

Label1.Text = DetailsView1.Rows[0].Cells[1].Text; 
// Giver: ""

TextBox t= (TextBox)DetailsView1.Rows[0].Cells[1].Controls[0];
Label1.Text = t.Text; 
// Giver rent faktisk "Martin Nielsen", men når jeg trykker på Update, giver det fortsat "Martin Nielsen"

Det bør nævnes at egenskaben "AutogenerateEditButton" er også sat til sand, for at generer "Update" og "Cancel" knapperne, men ellers intet andet, ud over default.
Avatar billede mochr Nybegynder
28. februar 2007 - 13:09 #9
Prøv med:
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
      DataTable DT = new DataTable("TestDV");
      DT.Columns.Add("Navn");
      DataRow TR = DT.NewRow();
      TR["Navn"] = "Martin Nielsen";
      DT.Rows.Add(TR);
      DetailsView1.DataSource = DT;
      DetailsView1.DataBind();
}
    }
Avatar billede wired Nybegynder
28. februar 2007 - 13:56 #10
Fan.f.ing.tastisk. Har brugt alt for lang tid på dette. De andre forslag burde også virke - de virker i alle tilfælde logiske, i følge syntaken for øvrige ms-komponenter. Dit forslag virker mochr, send et svar og du får points og forøvrigt TAK - og tak til alle.

&FYI: Jeg har også prøvet med: if(!Page.IsPostBack) ved alle de øvrige eksempler og de virkede stadig ikke. Nogen af dem kunne man mene skulle lavere resultatet hvis man castede til den rigtige kontrol, men det har hellere ikke hjulpet, har bare ikke vist eks. på det her.
Avatar billede mochr Nybegynder
28. februar 2007 - 14:01 #11
svar :)
Skal lige siges at jeg selv har haft problemer med det.
Avatar billede wired Nybegynder
28. februar 2007 - 14:14 #12
Ja løsningen er også logisk, men ikke den første man kommer i tanke om.
Avatar billede mochr Nybegynder
28. februar 2007 - 14:21 #13
Præcis...
Husk at det er den samme løsning hvis man fx bruger et gridview.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester