这是我的代码(这是简单的电话簿,这是删除它的一部分)
private void btnDeleteFromGV_Click(object sender, EventArgs e)
{
try
{
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index);
}
catch (Exception)
{
MessageBox.Show("PLS Enter a Row");
}
}
我想在数据网格视图中同时选择两行或更多行并能够删除它们
我应该怎么做!?答案 0 :(得分:3)
将最初选定的行添加到数组,然后从gridview中删除它们。试试这个:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
dataGridView1.MultiSelect = true;
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
}
private void button1_Click(object sender, EventArgs e)
{
var selectedRows = dataGridView1.SelectedRows
.OfType<DataGridViewRow>()
.Where(row => !row.IsNewRow)
.ToArray();
foreach (var row in selectedRows)
dataGridView1.Rows.Remove(row);
dataGridView1.ClearSelection();
}
}
答案 1 :(得分:2)
不幸的是,我无法完全理解需要什么,但我会留下这里,也许有人会觉得它很有用。
1)删除DataGridView
中包含属性的行:RowHeaderVisible=true
,SelectionMode=RowHeaderSelect
,Multiselect=true
选择鼠标和按下按钮,您可以使用此代码:
private void button1_Click(object sender, EventArgs e)
{
int selectedCount = dataGridView1.SelectedRows.Count;
while (selectedCount > 0)
{
if (!dataGridView1.SelectedRows[0].IsNewRow)
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index);
selectedCount--;
}
dataGridView1.ClearSelection(); // to cancel auto-selection after the deleting
}
}
您必须通过点击任何RowHeader 选择一行
2)要删除DataGridView
中包含属性的行RowHeaderVisible=false
,Multiselect=true
选择鼠标并按下按钮,您需要设置 SelectionMode=FullRowSelect
。代码与1)相同。
3)要删除DataGridView
中包含属性的行RowHeaderVisible=false/true
,SelectionMode=FullRowSelect/RowHeaderSelect
,Multiselect=true
代码,具体取决于特殊情况条件按下按钮后,您可以使用此代码::
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++) // loop's start to check condition
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
{
if (Convert.ToInt32(dataGridView1.Rows[i].Cells[j].Value) == -1) // example of condition
{
dataGridView1.Rows[i].Selected = true;
break;
}
}
}
int selectedCount = dataGridView1.SelectedRows.Count;
while (selectedCount > 0)
{
if (!dataGridView1.SelectedRows[0].IsNewRow)
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index);
selectedCount--;
}
dataGridView1.ClearSelection();
}
4)要删除DataGridView
中的行 选择 单元格或单元格,您可以使用此代码:
private void button1_Click(object sender, EventArgs e)
{
foreach (DataGridViewCell oneCell in dataGridView1.SelectedCells)
{
if (oneCell.Selected)
dataGridView1.Rows.RemoveAt(oneCell.RowIndex);
}
}
答案 2 :(得分:0)
scrollView
您可以编写而不是单元格[4]:数据库中的列ID。