DataGridView中的数据不是 绑定上去的,是手动添加的,怎么把手动添加的数据 转化成DataSet 呢?

解决方案 »

  1.   


    public DataTable dvtodt(DataGridView dv)
    {
        DataTable dt = new DataTable();
        DataColumn dc;
        for (int i = 0; i < dv.Columns.Count; i++)
        {
            dc = new DataColumn();
            dc.ColumnName = dv.Columns[i].HeaderText.ToString();
            dt.Columns.Add(dc);
        }
        for (int j = 0; j < dv.Rows.Count - 1; j++)
        {
            DataRow dr = dt.NewRow();
            for (int x = 0; x < dv.Columns.Count; x++)
            {
                dr[x] = dv.Rows[j].Cells[x].Value;
            }
            dt.Rows.Add(dr);
        }
        return dt;

      

  2.   

    手动?手动的最好也先绑定一个空的架构..可以用xml的形式存贮空架构.决对好用得多.
      

  3.   


            public static DataSet GetDataSetFromDataGridView(DataGridView ucgrd)
            {
                DataSet ds = new DataSet();
                DataTable dt = new DataTable();            for (int j = 0; j < ucgrd.Columns.Count; j++)
                {
                    dt.Columns.Add(ucgrd.Columns[j].HeaderCell.Value.ToString());
                }            for (int j = 0; j < ucgrd.Rows.Count; j++)
                {
                    DataRow dr = dt.NewRow();
                    for (int i = 0; i < ucgrd.Columns.Count; i++)
                    {
                        if (ucgrd.Rows[j].Cells[i].Value != null)
                        {
                            dr[i] = ucgrd.Rows[j].Cells[i].Value.ToString();
                        }
                        else
                        {
                            dr[i] = "";
                        }
                    }
                    dt.Rows.Add(dr);
                }
                ds.Tables.Add(dt);            return ds;
            }
      

  4.   

    先转成DataTable,然后填充进DataSet
      

  5.   

    datagridview.datasource as datatable