Why can I not cast a DataGridItemEventArgs.Item.DataItem to a StringArray? Please help!

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)

        End If
    End Sub



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..
OddiCAsked:
Who is Participating?
 
raterusConnect With a Mentor Commented:
The dataitem represents only one chuck of the datasource, so in this case, it's a string, not a string array.  In otherwords, try casting it to a string!
0
 
OddiCAuthor Commented:
Halfway there! I got the first item in my string array to show up in the datagrid- however, the Dg stops populating after this. Basically, I have a string array (read from an xml file) which I need to iterate through and set each Dg row to its string values (there should be as many rows in the Dg as strings in the String()).

Any thoughts on why it stops after one? What can I try to let it read all of the strings?

PS: My datasource is this string array
0
 
raterusCommented:
There isn't nothing you can really do to prevent the rest of the datagrid from binding, my only guess is there is only one item in this string array.
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
OddiCAuthor Commented:
Never thee mind! I did some breakpointing and watching, and realized I had a brain lapse and was constructing the xml incorrectly in some other code.. You solution works perfect. Thanks a million, friend!
0
 
OddiCAuthor Commented:
Exellent answer from an expert. Very staightforward, (extremely; <5 min.) prompt response.
0
 
raterusCommented:
Glad to hear you got it working!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.