Solved

Datagridview write\read Rows to\from  text file

Posted on 2008-10-04
2
3,784 Views
Last Modified: 2013-11-26
Vsiual Studio 2008 visual basic, datagridview unbound,
Datagridview is unbound
Row information is collected from user input
i can save all of my user input to text file except for the datagridview collection, I would like everything in one file.
Cant seem to get the datagridview row information into a string format
i know i have to loop through the collection, but I cant find any information in regard to returning the values of the cells tostring

Thank You in advance for the help
0
Comment
Question by:SoderCC
2 Comments
 
LVL 16

Accepted Solution

by:
Gyanendra Singh earned 125 total points
ID: 22644112
see you first need to convert yr text file in to dataset then you can play with it .. sample code for read text file and convert them to dataset

after getting dataset bind that with grid simple
//Namespace reference

using System.IO;

using System.Data;
 

#region BuildDataSet

/// <summary>

/// method to read a text file into a DataSet

/// </summary>

/// <param name="file">file to read from</param>

/// <param name="tableName">name of the DataTable we want to add</param>

/// <param name="delimeter">delimiter to split on</param>

/// <returns>a populated DataSet</returns>

public DataSet BuildDataSet(string file,string tableName,string delimeter)

{

    //create our DataSet

    DataSet domains = new DataSet();

    //add our table

    domains.Tables.Add(tableName);

    try

    {

        //first make sure the file exists

        if (File.Exists(file))

        {

            //create a StreamReader and open our text file

            StreamReader reader = new StreamReader(file);

            //read the first line in and split it into columns

            string[] columns = reader.ReadLine().Split(delimeter.ToCharArray());

            //now add our columns (we will check to make sure the column doesnt exist before adding it)

            foreach (string col in columns)

            {

                //variable to determine if a column has been added

                bool added = false;

                string next = "";

                //our counter

                int i = 0;

                while (!(added))

                {

                    string columnName = col;

                    //now check to see if the column already exists in our DataTable

                    if (!(domains.Tables[tableName].Columns.Contains(columnName)))

                    {

                        //since its not in our DataSet we will add it

                        domains.Tables[tableName].Columns.Add(columnName, typeof(string));

                        added = true;

                    }

                    else

                    {

                        //we didnt add the column so increment out counter

                        i++;

                    }

                }

            }

            //now we need to read the rest of the text file

            string data = reader.ReadToEnd();

            //now we will split the file on the carriage return/line feed

            //and toss it into a string array

            string[] rows = data.Split("\r".ToCharArray());

            //now we will add the rows to our DataTable

            foreach (string r in rows)

            {

                string[] items = r.Split(delimeter.ToCharArray());

                //split the row at the delimiter

                domains.Tables[tableName].Rows.Add(items);

            }

        }

        else

        {

            throw new FileNotFoundException("The file " + file + " could not be found");

        }

        

    }

    catch (FileNotFoundException ex)

    {

        _message = ex.Message;

        return null;

    }

    catch (Exception ex)

    {

        _message = ex.Message;

        return null;

    }

    

    //now return the DataSet

    return domains;

}

#endregion
 
 

//Sample usage
 

//for a Windows application

DataSet data = BuildDataSet("C:\MyFile.txt","MyTable",",");
 

//For an ASP.Net application

DataSet data = BuildDataSet(Server.MapPath("MyFile.txt"),"MyTable",",");

Open in new window

0
 

Author Closing Comment

by:SoderCC
ID: 31503110
Thanks
I am coding in VB.  Although I get the gist of what needs to be done. I will play with it for awhile
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

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

For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to us…

911 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

21 Experts available now in Live!

Get 1:1 Help Now