现在有一个DatagridView控件,上面有若干行和若干列,分别显示数据 
现在我已经把该DatagridView的数据保存到文本文件上了(按照行进行存储,DatagridView上的每一行写到文本文件txt上的每一行) 
现在问题是:
1.现在假使读取这个文本文件到这个控件上,该怎么做啊? (其实就是保存DatagridView上的数据到文本,然后读取文本到控件) 如果单独读取这个datagridview的某几个列到另一个datagridview上去该怎么做啊?
2.如果单独读取这个datagridview的某两个列的数据组成一个新的数据对该怎么做啊?
谢谢

解决方案 »

  1.   

    1.现在假使读取这个文本文件到这个控件上,该怎么做啊? 
     先将文本文件读到table中去了,以后就方便了绑定了
    2.如果单独读取这个datagridview的某几个列到另一个datagridview上去该怎么做啊? 
    在datagridview中加个checkbox,不就可能了吗?
    3.如果单独读取这个datagridview的某两个列的数据组成一个新的数据对该怎么做啊? 
    在数据层或业务层,做数据处理一下。
      

  2.   

    读取文件到DATATABLE DataTable dtb = new DataTable();
            Odbc.OdbcDataAdapter adp = new Odbc.OdbcDataAdapter("SELECT * FROM Data.Txt", "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=D:\;Extensions=asc,csv,tab,txt;");
                dtb.Clear();
                adp.Fill(dtb);        gridview.datasource = dtb;
      

  3.   

    我的做法:
    把datagridview 的数据源的datatable 保存为XML,后面的操作都简单了
      

  4.   

    把文本读取到datagridview中的时候可以先在datagridview中添加一行,然后再通过赋值来填充,赋值的时候可以按datagridview的列名来赋。
      

  5.   

    1、可以先取到DataTable再绑定dataGridView
    如果要单独取这个dataGridView的几列(不是行)到另一个dataGridView你可以遍历这个的行与列
    如:
    for(int i=0;i<dataGridView.columns.count;i++)
    {
       如果你只想取第二列或者第三列的时候可以
       if(i!=1||i!=2)
         Continue;
       for(int j=0;i>dataGridView.RowCount;j++)
       {
          //dataGridView.Rows[j].Cells[i].FormatValue是你要取的值,你把这个值可记下来,待全部完后添加到另一个dataGridView即可
          
       }
    }
    2、如果单独读取这个datagridview的某两个列的数据组成一个新的数据
    方法同上,也是先循环你要的那两列的数据,然后对数据进行你要的操作后添加到新的一列即可
    如:
    ((ISupportInitialize)this.dataGridView).BeginInit();
    DataGridViewColumn column = new DataGridViewColumn();
    column.CellTemplate = new DataGridViewTextBoxCell();
    column.HeaderText = 设置表头名称
    dataGridView.Columns.Add(column);
    ((ISupportInitialize)this.dataGridView).EndInit();
    为新列填充数据:
    DataGridViewRow row = GV_PriceInfo.Rows[0].Clone() as DataGridViewRow;
     row.Cells[0].Value = 第一列的数据
     row.Cells[1].Value = 第二列的数据;//如果你数据多可以循环添加,只需指定在哪一个columns下即可
    dataGridView.Rows.Add(row);
      

  6.   

    保存到文本的时候同一行数据最好用分号什么的隔开吧,读取文本的时候就readline,然后把这行数据用string.Split(";".ToCharArray()),然后就按文本中
    的排列位置取就好了
      

  7.   

    保存文本文件不好的是格式问题,最好用XML文件来存.这样操作也方便
      

  8.   

    那从读取XML上的数据到新的datagridview上也很方便吗?
    要是组合XML上的数据(只读取datagridview某两个列的数据进行的组合),也非常方便吗?
      

  9.   

    你放心,操作XML肯定比你txt方便,这点你不用担心的.微软提供了那么多操作xml的方法
    不管查询、组合都很简单的
      

  10.   

    一定要txt文件吗?为什么不保存到xml文件中呢,
    可以根据文件来构建DataSet(DataTable)来进行绑定
      

  11.   

    txt乱七八糟的保存到xml才来上策
      

  12.   

     
    1.现在假使读取这个文本文件到这个控件上,该怎么做啊? (其实就是保存DatagridView上的数据到文本,然后读取文本到控件) 如果单独读取这个datagridview的某几个列到另一个datagridview上去该怎么做啊? 
    2.如果单独读取这…
    [/Quote] 你可以用xml文件进行存储,它的存储方式就是行列结构存储的,可以很方便的读入读出,而且还可以直接和gridview 进行交互,你可以试一下 。
      

  13.   

    Object[] Objs=文件里的值依次读入;
    DataGridView1.Rows[DataGridView1.Rows.Add()].SetValues(Objs);    
      

  14.   

    XML文件好点
      结构清晰,操作简单.
    另excel也不错
      

  15.   

    说mxl好的,就给个例子,让不会的人学习学习嘛。
      

  16.   

    假设你已经把文本数据读到datagridview,然后把datagridview的数据保存为一新表;
    然后通过select建立一个你需要字段的新表;
    用另一个datagridview显示新表数据;也可以通过选中合并表中的列,来建立一个新表,然后将数据显示在datagridview中。
      

  17.   

    mxl的高人站出来吧,给个例子学习一下,关注ing
      

  18.   

    我这是怎么了,连续打错xml xml 记得上学的时候我的 小美丽(x m l)学的不错啊
    现在写都不会了