foreach (DataGridViewRow row1 in dataGridView1.Rows)
{
if ((row1.Tag as LayerTableRecord) == ltr)
dataGridView1.Rows.Remove(row1);
break;
}
}
//dev
foreach (GridView row in 此处需填什么?)
{
if ((row.Tag as LayerTableRecord) == ltr)
{
//gridView1的删除怎么操作的。
break;
}
}
怎么dataGridView1系统的表格,来循环删除?不会了请大师。
可以使用迭代得方式删除
```java
private void gridControl1_ProcessGridKey(object sender, KeyEventArgs e)
{
DevExpress.XtraGrid.Views.Base.ColumnView view = (sender as DevExpress.XtraGrid.GridControl).FocusedView as DevExpress.XtraGrid.Views.Base.ColumnView;
if (view == null) return;
if (e.KeyCode == Keys.Delete && e.Control && view.OptionsBehavior.AllowDeleteRows!= DevExpress.Utils.DefaultBoolean.False && view.SelectedRowsCount > 0)
{
if (DevExpress.XtraEditors.XtraMessageBox.Show($"确定删除所选{view.SelectedRowsCount}行?", "提问", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
view.DeleteSelectedRows();
}
}
```
类似于这样,选中后,后端进行删除操作
int[] rows = gridView1.GetSelectedRows();
if (rows.Length > 0)
{
if (DialogHelper.YesNo(this, "确认删除该记录?", "删除提示") != System.Windows.Forms.DialogResult.Yes) return;
DataRowView drv = (DataRowView)gridView1.GetRow(rows[0]);
//_layerUpdater.b.Rows.Remove(drv.Row);
drv.Row.Delete();
}
for (int i = dataGridView1.Columns.Count-1 ; i >=0; i--)
{
if (dataGridView1[i, 0].Value.ToString() == "0.0000000000")
{
dataGridView1.Columns.Remove(dataGridView1.Columns[i]);
}
}
【仅供参考】