0

我有两个 datragridview 组合框列,以及 datagridview 中的两个文本框列。每个组合框列都绑定到单独的绑定源。

列名是 sl_no、col_empname、col_empworktype、Col_Hours等,而 displaymember、datapropertyname、valuemember 和 for comboxcolumn 是

col_empname:-emp_name,emp_id,emp_id

col_empworktype:-worktypename,worktypeid,worktypeid

我的问题是

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

在此处输入图像描述

在我的表单加载中,我指定了 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 数据)时,才会出现所有这些问题。否则我可以保存。并且一切工作正常。

提前致谢。

4

1 回答 1

0

当你将数据表绑定到aDataGridView时,它会绑定数据表中的所有列,所以如果你的数据表中有emp_id,那么它将显示在DataGridView

您可能需要emp_id在 dataGridView 中创建一个列,使用DataPropertyName这些列emp_id,然后使 id 列不可见。

于 2012-05-16T07:00:50.780 回答