绑定到数据表时Datagridview列索引更改

时间:2012-05-16 06:41:17

标签: vb.net visual-studio datagridview

我有两个datragridviewcomboboxcolumn,datagridview.each组合框列中的两个文本框列绑定到单独的绑定源。

列名称为sl_no,col_empname,col_empworktype,Col_Hours 等。 displaymember,datapropertyname,valuemember和comboxcolumn是

col_empname:-emp_name,EMP_ID,EMP_ID

col_empworktype:-worktypename,worktypeid,worktypeid

我的问题是

  1. 当我将数据绑定到gridview时,它会显示一个额外的列emp_id(图像1)
  2. 当我选择组合框列时,其列索引已更改
  3. 选择combox列后,它会显示错误datagridview         ' Datagridviewcombobox值无效!'
  4. enter image description here

    在我的表单加载中我指定了datapropertyname

    Dim employeecolumn As DataGridViewComboBoxColumn = CType(grdWorkStatus.Columns("Col_EmpName"), DataGridViewComboBoxColumn) 
    employeecolumn.DisplayMember = "emp_name" 
    employeecolumn.ValueMember = "emp_Id" 
    employeecolumn.DataPropertyName = "emp_Id" 
    employeecolumn.DataSource = EmployeeSource 
    

    只有当我将数据从数据库绑定到grdiview(更新grdiview数据)时才会出现所有这个问题。否则我能够保存。并且evrything工作正常。

    先谢谢。

1 个答案:

答案 0 :(得分:0)

将数据表绑定到DataGridView时,它将绑定数据表中的所有列,因此如果数据表中有emp_id,则它将显示在DataGridView上。

您可能需要在dataGridView中创建emp_id列,使用DataPropertyNameemp_id的列,然后使id列不可见。