Datagrid, dynamische Dropdownlists und Event

20/06/2008 - 17:28 von Joe Blauth | Report spam
Hallo zusammen,

ich habe ein Gridview, das fast komplett dynamisch erstellt und gefüllt
wird. Sprich auf der aspx existiert nur

<asp:GridView ID="AdminGridView" runat="server" />
<asp:ObjectDataSource ID="AdminDataSource" runat="server" TypeName="MyClass"
/>

Im Code behind werden dann im Page_Load die Methods (Select, Update, Delete)
gesetzt. Das geht alles wunderbar. Wird alles richtig angezeigt, ist
bearbeitbar und auch sonst recht schick ;)
Im RowDataBound-Ereignis habe ich nun eine Dropdownlist erstellt, die in
Grid-Zellen geadded wird. Auch das arbeitet wie es soll:

If e.Row.RowType = DataControlRowType.DataRow Then
oDropdown = New DropDownList
oDropdownSource = New DataTable
sSQL = "SELECT ..."
oDropdownSource = GetDataTableFromSQL(sSQL)
With oDropdown
.DataSource = oDropdownSource
.DataTextField = "TextField"
.DataValueField = "ValueField"
.DataBind()
.SelectedValue = CType(e.Row.Cells(0).Text.ToString, Integer)
End With

e.Row.Cells(0).Controls.Add(oDropdown)

Nun die frage: Wie bekommen ich bei der Dropdownlist ein
SelectedIndexChanged-Event rein ?
Wenn ich einen

AddHandler oDropdown.SelectedIndexChanged, AddressOf Dropdown_IndexChanged

einfüge, wird der Event nie ausgelöst. Auch nicht wenn ich mein Dropdown mit
AutoPostBack = True versehe. Auch ein
Attributes.Add("OnSelectedIndexChanged"...) hilft da nicht weiter. Aber
irgendeinen Weg muss es doch geben dass ich direkt bei einer neuen Auswahl
der Dropdownlisten in einem Ereignis reagieren kann, oder ?

Vielleicht hat damit ja schonmal jemand seine Erfahrungen gemacht die er
gerne teilen möchte ? ;)
Danke im Voraus für Eure Hilfe.

J. Blauth
 

Lesen sie die antworten

#1 Samaschke, Karsten
26/06/2008 - 16:34 | Warnen spam
Joe Blauth schrieb:

einfüge, wird der Event nie ausgelöst. Auch nicht wenn ich mein Dropdown mit



Das spricht dafür, dass Du die DropDownList zu spàt erneut erzeugst: Bei
einem PostBack muss der Control-Tree bis spàtestens zum Load-Ereignis
wiederhergestellt sein, sonst wird das nix mit den Events.

Mit freundlichen Gruessen / Best regards,

Karsten Samaschke
IT-Development, IT-Consulting, IT-Training
Communitity: www.aspnetzone.de
Homepage: http://www.ksamaschke.de
Blog: http://www.karsan.de

Sent via MacBook / Windows Vista

Ähnliche fragen