刚在论坛找到了这样一个答案
将所有字段绑定,
this.datagridview1.AutoGenerateColumns = false;
把这个设置放在绑定源之前就可以根据自己设置的Datagridview格式显示,不知道这是不最正确的做法?

解决方案 »

  1.   

    嗯,设置成false,就可以根据自己的需求来 绑定字段了。ID类必须绑定并设置隐藏。
    修改的时候需要 获取id值,执行sql脚本。
      

  2.   

    还有一个问题想问一下,就是使用select 数据库字段名 as 列名 from [表]
    使用上面的语句得到的数据源用什么语句更新?
      

  3.   

    你去学习一下数据库基本的CRUD语句
      

  4.   

    http://www.cnblogs.com/yejiurui/archive/2012/10/11/2719384.html
    http://www.w3school.com.cn/sql/sql_syntax.asp从上面这个资料中我已经用过大部门的语句,select 数据库字段名 as 列名 from [表]
    select 数据库字段名 from [表]上面两种语句把Datagridview绑定数据库,更新数据库的代码是一样的吗?
      

  5.   

    把数据库数据绑定到dgv;你不知道update,insert,delete么??
    去msdn上查资料吧
      

  6.   

    大哥,可能我还没有表述明白,如果用select 数据库字段名 from [表]直接绑定的话,可以用DataTable dt = this.dataGridView.DataSource as DataTable;
    using (OleDbConnection cCon = new OleDbConnection(con))
              {
                OleDbDataAdapter ada = new OleDbDataAdapter(string.Format(@"select * from [{0}]", mySet), cCon);
                OleDbCommandBuilder cBu = new OleDbCommandBuilder(ada);
                try
                {
                  ada.Update(dt);
                  dt.AcceptChanges();
                }
               catch{}
              }
    如果使用的是另外一个语句绑定的话可以这样直接更新吗?如果不可以应该要怎么更新?一行行的update?
      

  7.   

    你创建Datagridview表头的时候只创建你需要的列,然后在绑定数据源的时候如我上面写到的那个加上那一句
      

  8.   

    你创建Datagridview表头的时候只创建你需要的列,然后在绑定数据源的时候如我上面写到的那个加上那一句
    不这样其实还有另一个办法
    就是Datagridview不手动在设计器里创建表头,也不修改AutoGenerateColumns默认值,只要把你不想显示的列的visible属性设置成false就好了