Auf ausgeblendete Zeilen in einer GridView zugreiffen

28/09/2007 - 16:13 von Adrian Stern | Report spam
Hallo

Ich habe folgende GridView:

<asp:GridView ID="gvSelectedPerson" runat="server"
AutoGenerateColumns="false" OnRowDeleting="gvSelectedPerson_RowDeleting"
OnRowDeleted="gvSelectedPerson_RowDeleted">
<Columns>

<asp:BoundField DataField="PersonNr" HeaderText="PersonNr" Visible="false"/>

<asp:TemplateField HeaderText="Rolle">

<ItemTemplate>

<asp:DropDownList ID="ddlRolle" runat="server"
CausesValidation="false" AutoPostBack="true">

<asp:ListItem>T</asp:ListItem>

<asp:ListItem>EX</asp:ListItem>

<asp:ListItem>O</asp:ListItem>

</asp:DropDownList>

</ItemTemplate>

</asp:TemplateField>

<asp:BoundField DataField="Vorname" HeaderText="Vorname" />

<asp:BoundField DataField="Nachname" HeaderText="Nachname" />

<asp:BoundField DataField="Ort" HeaderText="Ort" />

<asp:BoundField DataField="PLZ" HeaderText="PLZ" />

<asp:CommandField ShowDeleteButton="True" />

</Columns>
</asp:GridView>

Welches wohl hàsslichtens ausschaut.
Und wie ihr seht ist die Spalte <asp:BoundField DataField="PersonNr"
HeaderText="PersonNr" Visible="false"/> ausgeblendet.
Wie kann ich auf den Wert in dieser ausgeblendeten Spalte zugreiffen?

Wenn die Spalte eingeblendet ist, dann bekomme ich den inhalt mittels:
string a = gvSelectedPerson.Rows[i].Cells[0].Text;

Wenn sie ausgeblendet ist, dann hat sie scheinbar auch kein Index mehr.

Hoffe da kann mir schnell jemand helfen, weil dieser Wert ziemlich
wichtig für mein Vorankommen ist.

mfg
Adrian Stern
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
28/09/2007 - 16:31 | Warnen spam
Hallo Adrian,

"Adrian Stern" schrieb

Welches wohl hàsslichtens ausschaut.



ich weiß zwar jetzt nicht, was Du mit "hàsslichstens" meinst aber egal :)

Und wie ihr seht ist die Spalte <asp:BoundField DataField="PersonNr" HeaderText="PersonNr" Visible="false"/> ausgeblendet.
Wie kann ich auf den Wert in dieser ausgeblendeten Spalte zugreiffen?



Du solltest auf das DataItem zugreifen, das ist für solche Fàlle die
bessere Wahl.

Wenn sie ausgeblendet ist, dann hat sie scheinbar auch kein Index mehr.



Ist auch klar, weil die Zelle, bzw. Spalte gar nicht erst gerendert wird.

Nimm: e.Row.DataItem

Achte aber darauf, dass manche Events für alle Zeilen zünden, auch solche,
bei denen RowType <> DataRow ist (also vor Verwendung von DataItem darauf
prüfen)

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen