|
code
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Retrieving the DataItem property in DataList's ItemCommand or SelectedIndexChanged eventthe ItemCommand or SelectedIndexChanged event I need to retrieve a value from the DataItem of the SelectedItem. I have tried the following two techniques: Private Sub datProductList_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles datProductList.ItemCommand Me.selectedproduct = CInt(e.Item.DataItem("productid")) End Sub Private Sub datProductList_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles datProductList.SelectedIndexChanged Me.selectedproduct = CInt(CType(sender, DataList).SelectedItem.DataItem("productid")) End Sub Both attempts returned DataItem as Nothing. How can I get the value I need? Am I forgetting something in my customcontrol? Am I supposed to be using some other technique? Thanks. Hi,
DataItem is non-null only in ItemDataBound e.g when dataBind() is called, and list is being databound. But if you need the id, you can use DataKeys for that. E.g basically set DataKeyField="productid" on the DataList Then in ItemCommand Me.selectedproduct = CInt( datProductList.DataKeys( e.Item.ItemIndex ) ) Show quote "Nathan Sokalski" <njsokal***@hotmail.com> wrote in message news:Oj%23iIOi9HHA.4712@TK2MSFTNGP04.phx.gbl... >I have a custom Control that I have made that contains a DataList. In >either the ItemCommand or SelectedIndexChanged event I need to retrieve a >value from the DataItem of the SelectedItem. I have tried the following two >techniques: > > Private Sub datProductList_ItemCommand(ByVal source As Object, ByVal e As > System.Web.UI.WebControls.DataListCommandEventArgs) Handles > datProductList.ItemCommand > Me.selectedproduct = CInt(e.Item.DataItem("productid")) > End Sub > > Private Sub datProductList_SelectedIndexChanged(ByVal sender As Object, > ByVal e As System.EventArgs) Handles datProductList.SelectedIndexChanged > Me.selectedproduct = CInt(CType(sender, > DataList).SelectedItem.DataItem("productid")) > End Sub > > Both attempts returned DataItem as Nothing. How can I get the value I > need? Am I forgetting something in my customcontrol? Am I supposed to be > using some other technique? Thanks. > -- > Nathan Sokalski > njsokal***@hotmail.com > http://www.nathansokalski.com/ > |
|||||||||||||||||||||||