Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

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

Posted on 2007-11-16
6
636 Views
Last Modified: 2010-04-21
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..
0
Comment
Question by:OddiC
  • 3
  • 3
6 Comments
 
LVL 33

Accepted Solution

by:
raterus earned 500 total points
ID: 20301787
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
 

Author Comment

by:OddiC
ID: 20301828
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
 
LVL 33

Expert Comment

by:raterus
ID: 20301853
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: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

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.

 

Author Comment

by:OddiC
ID: 20301856
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
 

Author Closing Comment

by:OddiC
ID: 31409663
Exellent answer from an expert. Very staightforward, (extremely; <5 min.) prompt response.
0
 
LVL 33

Expert Comment

by:raterus
ID: 20301876
Glad to hear you got it working!
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

User art_snob (http://www.experts-exchange.com/M_6114203.html) encountered strange behavior of Android Web browser on his Mobile Web site. It took a while to find the true cause. It happens so, that the Android Web browser (at least up to OS ver. 2.…
Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question