如何在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();
         }

我做错了什么?

如何在c#中禁用数据网格中的多选选项

你必须使用MultiSelect属性,如果DataGridView,设置为false(像你一样),但在窗口的初始化(或在设计器),而不是在选择事件