刚接触winform开发不久 最近用到datagridview绑定数据库 我想请教下各位winform开发高手 datagridvie能像asp.net里的gridview用法一样吗?就是说 我以前做asp.net用gridview动态绑定 达到自定义所展示表的表头文字显示(用模版列 可以绑定lable button等等)还可以达到只显示数据表中部分想要展示的字段下的数据
我想请教下 在winform开发里datagridview如何能做能达到asp.net中gridview的效果?即动态绑定数据表 只展示自己想要展示的字段下的数据并 自定义字段名称或列控件 

解决方案 »

  1.   

    可以
    1、全部绑定隐藏某列
    2、代码生成columns,在绑定
      

  2.   

    可以自己设计datagridview的列,添加或者隐藏某列都是可以在列的属性里设置
    columns属性里设计,绑定方法和gridview也是一样dataproperty属性,其他的属性你自己可以看看
      

  3.   

    直接绑定,然后隐藏不需要的列
    this.dgvDictionary.DataSource = dt;
    this.dgvDictionary.Columns[0].HeaderText = "编号";
    this.dgvDictionary.Columns[1].HeaderText = "名称";
    this.dgvDictionary.Columns[2].Visible = false;动态生成列:
    this.dgvGoodsInfo.DataSource = dt;
    this.dgvGoodsInfo.Columns.Clear();DataGridViewTextBoxColumn dtInfo = new DataGridViewTextBoxColumn();
    dtInfo.DataPropertyName = "sID";
    dtInfo.HeaderText = "编号";
    this.dgvGoodsInfo.Columns.Add(dtInfo);DataGridViewTextBoxColumn dttruename = new DataGridViewTextBoxColumn();
    dttruename.DataPropertyName = "sName";
    dttruename.HeaderText = "名称";
    this.dgvGoodsInfo.Columns.Add(dttruename);当然还可以从SQL方面考虑
      

  4.   

    前台datagridview+bindingsource 
    代码datagridview.DataSource=……
      

  5.   

    谢谢 如果我在datagridview中绑定了checkbox 那如何获取checkbox选中行数据的id 以便执行多行同时删除操作?
      

  6.   

    可以做到的, 
    原理: 1.你要先將標題名+窗口win_id保存在sql中; 
          2.當進行該窗口時讀取win_id, 之後再查詢出原保存標題名與英名字段對應的數據;
          3.利用對應關系再更新至 datagridview 標題即可!
      

  7.   


    只要遍历datagridview行,判断改复选框是不为CHECKED,如果是获取这行数据的ID在用DELECT语句删除即可,
      

  8.   

    请教如何获取鼠标所点击的数据行的id 有没有什么事件可用?datagridview的动态绑定有没有什么事件可以实现?就像ASP.NET里的onrowdatabonf一样
      

  9.   

    CellMouseClick事件参考代码:
             int ID = 0;  //得到ID
            private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
            {
                if (this.dataGridView1.SelectedRows[0].Cells[0].Value is DBNull)
                {            }
                else
                    ID = Convert.ToInt32(this.dataGridView1.SelectedRows[0].Cells[0].Value);
            }
      

  10.   

    可以自己设计datagridview的列,添加或者隐藏某列都是可以在列的属性里设置 
    columns属性里设计,绑定方法和gridview也是一样dataproperty属性,其他的属性你自己可以看看