我遇到了一些奇怪的事情,或者可能是它的工作方式,只是我对 datagridview 的工作方式缺乏了解。单击按钮时,我正在动态添加一列
private void btnAssign_Click(object sender, EventArgs e)
{
if (!gvData.Columns.Contains("DepartmentId"))
{
DataGridViewTextBoxCell cell = new DataGridViewTextBoxCell();
DataGridViewColumn dc = new DataGridViewColumn();
dc = new DataGridViewTextBoxColumn();
dc.HeaderText = "DepartmentId";
dc.Name = "DepartmentId";
dc.CellTemplate = cell;
gvData.Columns.Add(dc);
}
foreach(DataGridViewRow row in gvData.SelectedRows)
{
row.Cells["DepartmentId"].Value = getSelectedValues(clbDept);
}
}
首先它检查 DepartmentId 列是否在 datagridview (dgv) 中。如果没有,那么我创建一个新的 Datagridviewtextboxcolumn 并设置适当的设置。然后将值添加到单元格。到目前为止一切顺利......这在哪里做奇怪的事情......当我对另一列进行排序时,“DepartmentId”列中的数据消失了。数据消失在我动态创建的列中。我必须使用保存方法吗?