Solved

Value of type 'String' cannot be converted to '1-dimensional array of String'.

Posted on 2009-05-18
7
536 Views
Last Modified: 2013-11-07
i need to get the date from this array , so i created a function for to retreive , but the problem i dunno how to convert the gridview cell to array , hence i get this error,
Value of type 'String' cannot be converted to '1-dimensional array of String'.  ,
in this line ..
   Dim arrdb() As String =  e.Row.Cells(0).Text.Tostring()

date2 column in db it  is stored like this ,
da#dasdasdda#05/05/2009,dasd#dasdasdd#05/06/2009
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Style="">

            <Columns>

            <asp:BoundField DataField="date2"/>

            </Columns>

        </asp:GridView>
 

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

        If e.Row.RowType = DataControlRowType.DataRow Then

            Dim arrdb() As String =  e.Row.Cells(0).Text.Tostring()

//error line

            Dim date2 As DateTime = arryfun(arrdb)

    End If

    End Sub

 Private Function arrfun(ByVal ds() As String) As String

        Dim dbdat As String = ""

        Dim in1 As Integer = 1

        For Each arr As String In ds.ToString().Split(",")

            If in1 = 2 Then

                Dim vals1() As String = arr.Split("#")

                If vals1.Length > 2 Then

                    dbdat = vals1(2).ToString()

                    Exit For

                End If

            End If

            in1 = in1 + 1

        Next

        Return dbdat

    End Function

Open in new window

0
Comment
Question by:Rajar Ahmed
7 Comments
 
LVL 31

Expert Comment

by:Jamie McAllister MVP
ID: 24412686
You're trying to set a String array equal to a string. That's what it is complaining about.

Instantiate the array and then set

arrdb(0) =  e.Row.Cells(0).Text.Tostring()

and it should be fine.

0
 
LVL 9

Expert Comment

by:CyberLex
ID: 24412689
e.Row.Cells(0).Text.Tostring()
this does probably not return a string array but a single string value
0
 
LVL 31

Expert Comment

by:Jamie McAllister MVP
ID: 24412769
btw did you know you can get all your cells into an array with one line of code?


e.Row.Cells.CopyTo(YourArrayInstance)

Open in new window

0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 18

Author Comment

by:Rajar Ahmed
ID: 24412800
i get this error,
Dim arrdb() As String
arrdb(0) =  e.Row.Cells(0).Text.Tostring()
Object reference not set to an instance of an object.

wat this line means ...how can i implement in the code ,
e.Row.Cells.CopyTo(YourArrayInstance)
0
 
LVL 31

Expert Comment

by:Jamie McAllister MVP
ID: 24412894
Dim arrdb() As String = e.Row.Cells(0).Text.Tostring()

Or you could do;

Dim arrdb(e.Row.Cells.Count) As String
e.Row.Cells.CopyTo(arrdb)

0
 
LVL 31

Accepted Solution

by:
Jamie McAllister MVP earned 500 total points
ID: 24412987
I think I typo-ed!!

Dim arrdb() As String = {e.Row.Cells(0).Text.Tostring()}
0
 
LVL 3

Expert Comment

by:channa_m
ID: 24416273
You can replace your line
 Dim arrdb() As String =  e.Row.Cells(0).Text.Tostring()

with the following code
  Dim cellText As String

    cellText = e.Row.Cells(0).Text.Tostring()

   Dim arrdb() As String = {cellText}

Open in new window

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

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…
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
As a trusted technology advisor to your customers you are likely getting the daily question of, ‘should I put this in the cloud?’ As customer demands for cloud services increases, companies will see a shift from traditional buying patterns to new…

920 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now