dynamische Sichtbarkeit von WebControls im DataGrid

Pauline

Grünschnabel
Hallo,


In der Spalte eines DataGrid möchte ich in Abhängigkeit von bestimmten Bedingungen entweder eine DropDownListe oder eine TextBox im Edit-Modus anzeigen.

Deshalb sieht die Definition des DataGrid wie folgt aus:

<asp:DataGrid id="myDataGrid" runat="server" AutoGenerateColumns="False" OnEditCommand="DataGrid_Edit" OnCancelCommand="DataGrid_Cancel" OnUpdateCommand="DataGrid_Update">
<Columns>
<asp:TemplateColumn HeaderText="Vorname">
<EditItemTemplate>
<asp:TextBox Runat=server ID="tb"></asp:TextBox>
<asp:DropDownList Visible=False Runat="server" Id="edit_Product" DataTextField="ID" DataValueField="ID" Width="200" DataSource='<%# GetProducts() %>'/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Aktualisieren" CancelText="Abbrechen" EditText="Bearbeiten"></asp:EditCommandColumn>
</Columns>
</asp:DataGrid>


Jetzt wollte ich mit

TextBox textbox = (TextBox) e.Item.Cells[0].FindControl("tb");
DropDownList dropdown = (DropDownList) e.Item.Cells[0].FindControl("ddl");

in der Methode DataGrid_Edit (sender, e) auf die Textbox/DropDownListe zugreifen und die Sichtbarkeit einstellen. Ich erhalte jedoch eine NullReferenceException.

Das Komische ist nur: In der Methode DataGrid_Update(sender, e) funktioniert dies!

Was mache ich falsch?

Bitte helft mir.
Pauline
 
Zurück