ITPub博客

首页 > 应用开发 > IT综合 > C#对DataGridView进行添加、修改、删除数据操作

C#对DataGridView进行添加、修改、删除数据操作

原创 IT综合 作者:hbhuang 时间:2009-05-26 09:56:33 0 删除 编辑

数据库用的是本地服务器(MySql):

设定变量:

MySqlConnection conn;
MySqlDataAdapter adapter;
MySqlTransaction trans;

[@more@]

1. // 数据库联接

private System.Data.DataTable dbconn(string strSql)
{
string strconn = "host=localhost;database=test;user id=root;password=";
conn = new MySqlConnection();
conn.ConnectionString = strconn;
conn.Open();
this.adapter = new MySqlDataAdapter(strSql, conn);
System.Data.DataTable dtSelect = new System.Data.DataTable();
int rnt=this.adapter.Fill(dtSelect);
conn.Close();
return dtSelect;

}

2. //设定DataGridView的样式

private void setDgStyle()
{
this.dgselect.Columns.Clear();

DataGridViewCheckBoxColumn colDel = new DataGridViewCheckBoxColumn();
colDel.DataPropertyName = "Del";
colDel.Name = "Del";
colDel.Selected = false;
colDel.FalseValue = "0";
colDel.TrueValue = "1";
colDel.Width = 40;
colDel.SortMode = DataGridViewColumnSortMode.NotSortable;
colDel.HeaderText = "删除";
colDel.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colDel.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
this.dgselect.Columns.Insert(0, colDel);

DataGridViewTextBoxColumn colID = new DataGridViewTextBoxColumn();
colID.DataPropertyName = "ProductsSpecID";
colID.Name = "ProductsSpecID";
colID.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colID.HeaderText = "产品规格ID";
colID.Width = 160;
this.dgselect.Columns.Insert(1, colID);

DataGridViewTextBoxColumn colNM = new DataGridViewTextBoxColumn();
colNM.DataPropertyName = "ProductsSpec";
colNM.Name = "ProductsSpec";
colNM.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colNM.HeaderText = "产品规格名称";
colNM.Width = 160;
this.dgselect.Columns.Insert(2, colNM);

DataGridViewTextBoxColumn colUnit = new DataGridViewTextBoxColumn();
colUnit.DataPropertyName = "ProductsSpecUnit";
colUnit.Name = "ProductsSpecUnit";
colUnit.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colUnit.HeaderText = "产品规格单位";
colUnit.Width = 180;
this.dgselect.Columns.Insert(3, colUnit);

DataGridViewTextBoxColumn colPID = new DataGridViewTextBoxColumn();
colPID.DataPropertyName = "ProductsID";
colPID.Name = "ProductsID";
colPID.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colPID.HeaderText = "产品ID";
colPID.Width = 140;
this.dgselect.Columns.Insert(4, colPID);

DataGridViewButtonColumn colButton = new DataGridViewButtonColumn();
colButton.DataPropertyName = "colSearch";
colButton.Name = "colSearch";
colButton.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
colButton.HeaderText = "Button";
colButton.Width = 80;
this.dgselect.Columns.Insert(5, colButton);

this.dgselect.RowHeadersWidth = 15;
this.dgselect.ColumnHeadersDefaultCellStyle.Font=new System.Drawing.Font("宋体",14);

}

3. //修改数据,并将数据提交到数据库

private Boolean dbUpdate()
{
string strSql = "select ProductsSpecID,ProductsSpec,ProductsSpecUnit,ProductsID from tbl_product_detail_master";
System.Data.DataTable dtUpdate = new System.Data.DataTable();
dtUpdate = this.dbconn(strSql);
dtUpdate.Rows.Clear();

System.Data.DataTable dtShow = new System.Data.DataTable();
//dtShow = (DataTable)this.bindSource.DataSource;
dtShow = (System.Data.DataTable)this.dgselect.DataSource;

int p1 = dtShow.Rows.Count;
// try
// {

for (int i = 0; i < dtShow.Rows.Count; i++)
{
DataRowState rowState=new DataRowState();
rowState=dtShow.Rows[i].RowState;
if (rowState==DataRowState.Added || rowState==DataRowState.Detached || rowState==DataRowState.Modified)
{

if (this.dgselect["Del", i].Value.ToString() == "1")
{
dtShow.Rows[i].Delete();
}
}
}

for (int i = 0; i < dtShow.Rows.Count; i++)
{
dtUpdate.ImportRow(dtShow.Rows[i]);
}
int num = dtUpdate.Rows.Count;
try
{
this.conn.Open();

trans = this.conn.BeginTransaction();

MySqlCommandBuilder CommandBuiler;
CommandBuiler = new MySqlCommandBuilder(this.adapter);

this.adapter.Update(dtUpdate);
trans.Commit();
this.conn.Close();

}
catch ( Exception ex)
{
MessageBox.Show(ex.Message.ToString());
trans.Rollback();
return false;
}

dtUpdate.AcceptChanges();
return true;

}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10291852/viewspace-1022484/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    49
  • 访问量
    56087