DataGridView的列标题是已经定好了的,而且那张要显示的表的列比DataGridView的列多一列,新手。。望详细解答。。

解决方案 »

  1.   

    先从数据库里把数据集合查返回去来至一个DataTable里
    然后DataGridview.DataSource = DataTable;就可以了
      

  2.   


    就比如说我已经做好的DataGridView有9列,而我想要显示的那张表有10列
      

  3.   

    为什么多一列?
    从数据库中取出数据来后(放在dataset→datatable)
    把datatable中没用的列删除了 再显示
      

  4.   

    手动绑定datagridview,用commandText选择指定的数据表字段,也可以用sqldatasource选择指定表的字段名就可以了
      

  5.   

    首先自定义Datatable,
    其次根据数据库返回的数据集再填充到DataTable里
    再次DataGridview.DataSource = DataTable;
      

  6.   

    给你哥例子,虽然代码不好看
    //连接数据库代码,SQL语句自己写,我的DATAGRIDVIEW 叫 d_report,CONN自己写
      
                    private SqlDataAdapter find_do;
                    private DataSet ds;
                    SqlCommand cmd = new SqlCommand(sql_str, conn);
                    //实例化SQLCOMMAND
                    find_do = new SqlDataAdapter();
                    find_do.SelectCommand = cmd;
                    ds = new DataSet();
                    find_do.Fill(ds, "rs");//填充DS
                    try
                    {
                        //实现最后一列求合计
                           DataTable dataTable = ds.Tables["rs"];
                        DataRow dataRows;
                        dataRows = dataTable.NewRow();
                        dataRows[4] = dataTable.Compute("Sum(应收费)", "true");
                        dataRows[5] = dataTable.Compute("Sum(实收费)", "true");
                        dataRows[6] = dataTable.Compute("Sum(停车时长)", "true");
                        dataRows[7] = dataTable.Compute("Sum(免除)", "true");
                        dataRows[8] = dataTable.Compute("Sum(水单减免)", "true");
                        dataTable.Rows.Add(dataRows);                    //第一列插入“自动编号列”
                           ds.Tables[0].Columns.Add("编号");
                        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                        {
                            if (i < ds.Tables[0].Rows.Count - 1)
                            {
                                ds.Tables[0].Rows[i]["编号"] = i + 1;
                            }
                            else
                            {
                                ds.Tables[0].Rows[i]["编号"] = "合计";
                            }
                        }                    ds.Tables[0].Columns["编号"].SetOrdinal(0);
                        d_report.DataSource = dataTable;//绑定数据
      

  7.   

    我的DataGridView的表头是已经弄好了的,但如果直接绑定数据源的话,那个数据源的表头会接在我的DataGridView的表头后面,但是我只需要它的内容。。
      

  8.   

    额,今天刚弄dataset,怎么把dataset的内容放到datatable里啊。。然后就是删除不要的列怎么弄。。弄完了后直接绑定这个datatable就可以了吗?
      

  9.   

    我先用dataset把数据从数据库弄出来,然后把需要的行放进datatabl,但是它显示该行已经属于另一个表
      

  10.   

                //4.创建一个dataset对象
                DataSet ds1 = new DataSet();
                //5.数据处理
                DataTable dtb = new DataTable();
                sqlDataAdapter1.Fill(ds1);
                DataTable dt=ds1.Tables["Table"];
                dt.Columns.Remove(dt.Columns["你的打他table中的列明"]);
    LZ 其实好多人都给你提供思路了 你可以根据这些一步步去实现
    像你说的 datatable的列的删除 ,完全可以去google  我也是现查的哦--不过可以用没问题 试过
      

  11.   

    1.先把DataSet转化成DataTable,如下;
        DataTable dt = DataSet.Tables[0];
    2.在DataTable 中新生成一列“AAA”,如下;
        dt.Columns.Add("AAA", typeof(System.String));3.把要显示的值给列AAA绑上,这个你就会了吧.
      

  12.   

    “DataGridView的列标题是已经定好了的,而且那张要显示的表的列比DataGridView的列多一列”建议你直接用DataTable绑定,把不想显示的列隐藏就行了,何必搞得这么麻烦