DataGridView 删除所有,选行,选列

只找到了删除行和列的函数,行删除后提交数据源表会改变内容;
列删除后提交无效改变数据源表内容,采取删除数据源表列的办法;
无法删除所有行,采取获取数据源表后清除表所有行,再赋值给控件。

                (a, b) => { if (删除数据确认("确定要删除所有数据?\r\n并添加至少一条数据,否则将引发程序错误;\r\n如果选择菜单【退出】则保存修改;\r\n如果选择窗体【关闭】不保存修改。", "友情提醒!") == System.Windows.Forms.DialogResult.OK)
                    { DataTable 表 = (DataTable)数据列表.DataSource; 表.Rows.Clear(); 数据列表.DataSource = 表; 数据列表.EndEdit();  }},
                (a, b) => { if(删除数据确认("确定要删除所有数据?","友情提醒!") == System.Windows.Forms.DialogResult.OK ){ 数据列表.Rows.RemoveAt(数据列表.CurrentCell.RowIndex); 数据列表.EndEdit(); } },
                (a, b) => { if(删除数据确认("确定要删除所有数据?","友情提醒!") == System.Windows.Forms.DialogResult.OK ){ 数据列表.Columns.RemoveAt(数据列表.CurrentCell.ColumnIndex); ((DataTable )数据列表.DataSource).Columns.RemoveAt(数据列表.CurrentCell.ColumnIndex); } }, 

        DialogResult 删除数据确认(string 消息, string 标题) { return MessageBox.Show(消息, 标题, MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation); }

 

                (a, b) => { 数据列表.Rows.RemoveAt(数据列表.CurrentCell.RowIndex); 数据列表.EndEdit(DataGridViewDataErrorContexts.RowDeletion); /*数据列表.NotifyCurrentCellDirty(false );*/},

 

            //foreach (DataGridViewColumn 列 in 数据列表.Columns) 列.SortMode = DataGridViewColumnSortMode.NotSortable;
            //数据列表.SelectionMode = DataGridViewSelectionMode.FullColumnSelect;
//设置多选列则多选行失效

                (a, b) => { if (删除数据确认("确定要删除所有数据?\r\n并添加至少一条数据,否则将引发程序错误;\r\n如果选择菜单【退出】则保存修改;\r\n如果选择窗体【关闭】不保存修改。", "友情提醒!") == System.Windows.Forms.DialogResult.OK)
                    { 数据列表.SelectAll(); foreach (DataGridViewRow 行 in 数据列表.SelectedRows) if(数据列表.Rows.Count - 1 > 行.Index) 数据列表.Rows.RemoveAt(行.Index); 数据列表.EndEdit();  }},
                (a, b) => { if(删除数据确认("确定要删除所有数据?","友情提醒!") == System.Windows.Forms.DialogResult.OK ){ 
                    if(数据列表.SelectedRows.Count == 0) 数据列表.Rows.RemoveAt(数据列表.CurrentCell.RowIndex);
                    else foreach (DataGridViewRow 行 in 数据列表.SelectedRows)
                        数据列表.Rows.RemoveAt(行.Index);
                    数据列表.EndEdit(); } },
                (a, b) => { if(删除数据确认("确定要删除所有数据?","友情提醒!") == System.Windows.Forms.DialogResult.OK ){ 
                        数据列表.Columns.RemoveAt(数据列表.CurrentCell.ColumnIndex); 
                        ((DataTable )数据列表.DataSource).Columns.RemoveAt(数据列表.CurrentCell.ColumnIndex);} }, 

 

foreach (string 列名 in 选列.Split("◎".ToArray(), StringSplitOptions.RemoveEmptyEntries)) 数据列表[列名, 0].Selected = true;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值