2012-05-16 53 views
0

我有两个datragridviewcomboboxcolumn,并且datagridview.each组合框中的两个文本列绑定为单独的绑定源。Datagridview列索引在绑定到数据表时发生更改

列名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. 当我选择COMBOX列之后选择组合框列其列索引被改变
  3. 它显示了一个错误的datagridview 'Datagridviewcombobox值是无效!'

enter image description here

在我的窗体加载我指定只有当我从数据库数据绑定到grdiview(更新grdiview数据)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 

这一切问题发生。否则,我可以save.and evrything工作正常。

在此先感谢。

回答

0

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

您可能需要在您的dataGridView中创建一个emp_id列,使用DataPropertyName将列添加到emp_id,然后使id列不可见。

+0

Nick.emp_id是col_empname的数据属性名称。 –

+0

然后你是否为'col_empname'创建了一个列并使其不可见? – Nick

+0

Nick.Thanks您的快速回复。 –

相关问题