Solved

Datagridview write\read Rows to\from  text file

Posted on 2008-10-04
2
3,782 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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
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 video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

705 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

19 Experts available now in Live!

Get 1:1 Help Now