本人用VS2005开发Windows应用程序,其中一个Form中用到了一个dataGridView控件,我不想直接绑定数据库中的数据表,而是想用代码实现:我拖拽了一个DataGridView控件到Form表单,在编辑项里面添加了几列字段名:请问在代码实现中我该如何做才能把数据库中相应表的数据项显示在上面添加的字段名中让它显示出来!
备注:当然我不在DataGridView中添加几列字段名,用语句"select * as * from ..."然后把取出的表赋给DataGridView.DataSource一样可以显示,但是显示的很不舒服。因此我想采用上面的做法,不知道我该如何实现呢,能不能实现?
请各位不吝赐教!

解决方案 »

  1.   

    用DataReader去一行一行读,再一个一个写到DataTable里去。PS:麻烦还不说,效率又低,这又何必呢!
      

  2.   

    假设你读取数据后返回的是一个DataTable,则if (datatable != null)
    {
        //先清除DataGridView1中的数据
        DataGridView1.Rows.Clear();    for (int i = 0; i < datatable.Rows.Count; i++)
        {
            DataGridView1.RowCount = i + 1;
            DataGridView1["column1", i].Value = datatable.Rows[i][0].ToString();
            DataGridView1["column2", i].Value = datatable.Rows[i][1].ToString();
            DataGridView1["column3", i].Value = datatable.Rows[i][2].ToString();
        }
    }
      

  3.   

    个人感觉楼主完全没有必要自己手写绑定数据的这一部分代码,如果只是想修改datagridview的列名,可以
    this.datagridview1.column[i].headertext = “newname”
    如果想改变类的显示位置
    this.datagridview1.column[i].displayindex = newIndex;
      

  4.   

    Datatable是你查出来的数据源
    dataGridView1.DataSource=Datatable不就行了么
      

  5.   

    给你一个思路 :用强类型Dataset 里面的Datatable 可以设置每一列的caption 这样绑定上去后 会自动变成你设置的中文名称
      

  6.   

    如果返回的数据源是Dataset
    dataGridView1.DataSource=Dataset.tables[0]
    datagridview1.databind()