问题:全选后删除没有问题,但是选择了其中几条后,不能将选中的这些记录都删除掉,总是有那么几条删不掉? 请大家帮忙看看我的代码,帮忙纠正,有更好的方法请给出关键代码,谢谢! datagridview设计如下:第1列是DataGridViewCheckBoxColumn列,其他列是DataGridViewTextBoxColumn列 //代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Text; using System.Windows.Forms; namespace test { public partial class Form1 : Form { public Form1() { InitializeComponent(); } LinkDB linkdb = new LinkDB(); string strSelectAll = "select * from tb1 "; string strTable = "tb1 "; DataSet ds = new DataSet(); private void Form1_Load(object sender, EventArgs e) { dataGridView1.AutoGenerateColumns = false; dataGridView1.AllowUserToAddRows = false; dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Azure; ds = linkdb.QueryDB(strSelectAll, strTable); dataGridView1.DataSource = ds; dataGridView1.DataMember = strTable; } bool blIsSelectAll = false; //全选 private void btnSelectAll_Click(object sender, EventArgs e) { foreach (DataGridViewRow dr in dataGridView1.Rows) { ((DataGridViewCheckBoxCell)dr.Cells[0]).Value = true; } blIsSelectAll = true; return; } //取消全选 private void btnCancelAll_Click(object sender, EventArgs e) { foreach (DataGridViewRow dr in dataGridView1.Rows) { ((DataGridViewCheckBoxCell)dr.Cells[0]).Value = false; } blIsSelectAll = false; return; } //删除 private void btnDelete_Click(object sender, EventArgs e) { try { if (dataGridView1.Rows.Count > 0) { if (blIsSelectAll) //全选:进行批量删除 { for (int rowIndex = 0; rowIndex < ds.Tables[strTable].Rows.Count; rowIndex++) { ds.Tables[strTable].Rows[rowIndex].Delete();//逻辑性删除(从数据集ds中删除) //物理性删除(从DB中删除) } } else //删除选中了记录 { for (int j = 0; j < dataGridView1.Rows.Count; j++) { if (Convert.ToBoolean(dataGridView1[0, j].EditedFormattedValue.ToString())) { ds.Tables[strTable].Rows[j].Delete();//逻辑性删除 //物理性删除 } } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { blIsSelectAll = false; } } } |
50 修改 删除 举报 引用 回复 |
id="Topic_Zone" style="HEIGHT: 4px" marginwidth="0" marginheight="0" src="/u/AD/Topic_Zone.aspx" frameborder="0" width="100%" scrolling="no" height="0">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|