如何在c#中禁用数据网格中的多选选项
本文关键字:网格 选项 数据网 数据 | 更新日期: 2023-09-27 18:02:09
如何在c#中禁用数据网格中的多选选项?实际上我有两个表A和B现在我要从表A中选择一个值然后点击向下箭头键将选中的行从表A移动到表B
现在第一次,当我在表a中选择一行并单击向下箭头按钮所选行无法添加,但当我尝试相同的操作时,其工作正常..
这是我的代码片段-这里非常第一次,当我选择一行,并单击向下箭头按钮,它弹出我::没有行选择!在那之后,它就完美地工作了。
private void btnSelect_Click(object sender, EventArgs e)
{
dgvFormFieldsView.MultiSelect = false;
DataGridViewSelectedRowCollection selectedRows = dgvFormFieldsView.SelectedRows;
dgvFormFieldsView.ClearSelection();
if (selectedRows.Count == 0)
{
MessageBox.Show("No rows selected!", "Warning");
return;
}
for (int i = selectedRows.Count -1 ; i >= 0; i--)
{
string fieldLabel = null;
string fieldType = null;
string tabOrder = null;
tabOrder = (string)selectedRows[i].Cells[0].Value;
fieldLabel = (string)selectedRows[i].Cells[1].Value;
fieldType = (string)selectedRows[i].Cells[2].Value;
DataRow newRow = selectedFieldsTable.NewRow();
newRow["Field Name"] = fieldLabel;
newRow["Field Type"] = fieldType;
/*Temp Table*/
DataRow newRows = TempTable.NewRow();
newRows["Field Name"] = fieldLabel;
newRows["Field Type"] = fieldType;
if (!selectedFieldsTable.Rows.Contains(new System.Object[] { fieldType, fieldLabel }))
{
selectedFieldsTable.Rows.Add(newRow);
acc = selectedFieldsTable.Rows.Count;
temprow = TempTable.Rows.Count;
if (temprow < 5)
{
TempTable.Rows.Add(newRows);
//Console.WriteLine(counter);
currenttemptablecounter = currenttemptablecounter + 1;
Console.WriteLine(currenttemptablecounter);
}
if (temprow >= 5)
{
NextSelect.Enabled = true;
}
}
else
{
MessageBox.Show("Form Field :" + fieldLabel + " already selected", "PDF Perform Info");
}
}
dgvSelectedFieldsView.DataSource = TempTable;
dgvSelectedFieldsView.ClearSelection();
applyFormattingSelectedFieldsTable();
}
我做错了什么?
你必须使用MultiSelect属性,如果DataGridView,设置为false(像你一样),但在窗口的初始化(或在设计器),而不是在选择事件