Solved

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

Posted on 2009-05-18
7
537 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
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
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

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
SQL Help 27 45
Help with preventing downloading a zip file 10 37
location of a form 2 13
Linq asp.net mvc 13 9
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…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

773 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