程序功能:
1.在DataGridView中添加CheckBox列,然后使用DataGridView来绑定Oracle数据
2.绑定的数据在DataGridView显示时选择需要显示的数据,然后勾选CheckBox来删除数据库中的数据
private System.Windows.Forms.DataGridView dgvImageInfo;
private DataGridViewCheckBoxColumn dgvCol = new DataGridViewCheckBoxColumn();//DataGridView列中加CheckBox
this.dgvImageInfo.AllowUserToAddRows = false;//设置DataGridView使DataGridView不允许增加行
this.dgvImageInfo.AllowUserToDeleteRows = false;//设置DataGridView使DataGridView不允许删除数据
this.dgvImageInfo.AllowUserToResizeRows = false; //设置DataGridView使DataGridView不允许就该数据
/// <summary>
/// 更改数据源绑定内容/// </summary>
private void RebindDbSource()
{
//修改DataGridView列中CheckBox 的属性
dgvImageInfo.Columns.Clear();
dgvCol.HeaderText = "是否删除";dgvCol.DataPropertyName = "IsChecked";
dgvCol.ReadOnly = false;
dgvImageInfo.Columns.Add(dgvCol);
DispalyDtName(dgvImageInfo,"ID","主键");
DispalyDtName(dgvImageInfo, "DisplayName", "名称");
DispalyDtName(dgvImageInfo,"InputDateTime","上传时间");
dgvImageInfo.Columns["ID"].Visible = false;
}
//显示数据库中部分数据
private void DispalyDtName(DataGridView dgv, string dataPropertyName, string headerText){
dgv.AutoGenerateColumns = false;
DataGridViewTextBoxColumn obj = new DataGridViewTextBoxColumn();
obj.DataPropertyName = dataPropertyName;
obj.HeaderText = headerText;
obj.Resizable = DataGridViewTriState.True;
dgv.Columns.AddRange(new DataGridViewColumn[] {obj});
}
/// <summary>
/// 删除数据库中数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnDelete_Click(object sender, EventArgs e)
{
if (dgvImageInfo.SelectedRows.Count == 0)
{
MessageBox.Show("请先选中一行在进行删除","删除区域",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
return;
}
if(MessageBox.Show("你确定要删除该记录?","信息",MessageBoxButtons.YesNo) == DialogResult.Yes)
{
for (int i = 0; i < dgvImageInfo.Rows.Count;i++ )
{
string re_value = dgvImageInfo.Rows[i].Cells[0].EditedFormattedValue.ToString();
if (re_value == "True")
{
_MrifID = int.Parse(dgvImageInfo.Rows[i].Cells["ID"].Value.ToString());
b_mrifmeta_t.Delete(_MrifID);
}
}
DataTable dt = b_mrifmeta_t.GetAllList().Tables[0];
dgvImageInfo.DataSource = dt.DefaultView;
RebindDbSource();
}
}