Why can I not cast a DataGridItemEventArgs.Item.DataItem to a StringArray? Please help!
Posted on 2007-11-16
I have been able to DirectCast this object to several of my own custom objects, however I cannot get it to cast to a String()??!! Any and all suggestion and help is greatly appreciated. I will respond quickly if you need anymore info (basically, I am trying to bind a datagrid TemplateColumn (Label) to the value of strings in a string array which is my datasource, no more, no less. I think.
Private Sub dgPrograms_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgPrograms.ItemDataBound
If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then
Dim oProgramStrings As String() = DirectCast(e.Item.DataItem, String()) ****fails on this line
Dim lblProgramName As Label = DirectCast(e.Item.FindControl("lblProgramName"), Label)
Dim idx As Int32 = e.Item.ItemIndex
lblProgramName.Text = oProgramStrings(idx)
BTW the error message I get refers to my MyBase.OnUnload method which just iterates through an UNRELATED DataGrid's items (another DG on the page; not tied to this DG at all)- I'm not sure why the error points to this, but it does.
Thanks a bunch for helping!
PS: C# examples are welcome- I am proficient in both VB and C# (I prefer VB, but the project I am working on is all VB.NET- 1.1, hence DataGrid and not GridView..