DataGridView的常用用法 //讀取表Supplier并綁定到GridView中
private void BindGvSupplier()
...{
OracleConnection conn = this.Conn();
OracleCommand cmd = new OracleCommand( "select * from Supplier ", conn);
OracleDataAdapter sda = new OracleDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds, "Supplier ");
string[] SuppId = new string[ds.Tables[ "Supplier "].Rows.Count];
for (int i = 0; i < ds.Tables[ "Supplier "].Rows.Count; i++)
...{
SuppId[i] = ds.Tables[ "Supplier "].Rows[i][0].ToString();
}
this.gvSupplier.DataSource = ds.Tables[ "Supplier "];
this.gvSupplier.DataKeyNames[0] = "SuppId ";
this.gvSupplier.DataBind();
this.lblPageIndex.Text = Convert.ToString(int.Parse(this.gvSupplier.PageIndex.ToString()) + 1);
this.lblTotalPage.Text = this.gvSupplier.PageCount.ToString();
this.lblCount.Text = this.GetTotalCount().ToString();
}
//分頁觸發(fā)的事件
protected void gvSupplier_PageIndexChanging(object sender, GridViewPageEventArgs e)
...{
this.gvSupplier.PageIndex = e.NewPageIndex;
this.BindGvSupplier();
this.lblPageIndex.Text = Convert.ToString(int.Parse(this.gvSupplier.PageIndex.ToString()) + 1);
this.cbAllSelect_CheckedChanged(this.cbAllSelect, e);
}
//刪除按鈕觸發(fā)的事件
protected void gvSupplier_RowDeleting(object sender, GridViewDeleteEventArgs e)
...{
int id = e.RowIndex;
GridViewRow gvr = this.gvSupplier.Rows[id];
int SuppId=int.Parse(((HyperLink)(gvr.Cells[7].Controls[0])).Text.ToString());
string sqlString = "delete from Supplier where SuppId= " + SuppId;
//如果本頁只有一條數(shù)據(jù),刪除后要向前翻一頁
if (this.gvSupplier.Rows.Count == 1)
...{
if (this.gvSupplier.PageIndex > 1)
...{
this.gvSupplier.PageIndex--;
}
}
int result = ExecuteSql(sqlString);
if (result == 1)
...{
this.Alert( "你成功刪除一條數(shù)據(jù) ", this.Page);
}
this.BindGvSupplier();
this.BindGvSupplier();
}
//綁定刪除按鈕的確認(rèn)提示
protected void gvSupplier_RowDataBound(object sender, GridViewRowEventArgs e)
...{
if (e.Row.RowType == DataControlRowType.DataRow)
...{
LinkButton myLb = (LinkButton)(e.Row.Cells[8].Controls[1]);
myLb.Attributes.Add( "onclick ", "javascript:return confirm( '你確認(rèn)刪除 "+e.Row.Cells[0].Text+ "嗎? ') ");
//鼠標(biāo)經(jīng)過時(shí)改變行的顏色
e.Row.Attributes.Add( "onmouseover ", "this.style.backgroundColor= '#ffffe7 ' ");
e.Row.Attributes.Add( "onmouseout ", "this.style.backgroundColor= 'transparent ' ");
}
}
//點(diǎn)擊編輯按鈕時(shí)觸發(fā)的事件
protected void gvSupplier_RowEditing(object sender, GridViewEditEventArgs e)
...{
string s = this.gvSupplier.DataKeys[e.NewEditIndex][1].ToString();
this.txtAddr1.Text = "dddd " + s;
this.gvSupplier.EditIndex = e.NewEditIndex;
this.BindGvSupplier();
}
//點(diǎn)擊取消按鈕時(shí)觸發(fā)的事件
protected void gvSupplier_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
...{
this.gvSupplier.EditIndex = -1;
this.BindGvSupplier();
}
//點(diǎn)擊更新按鈕時(shí)觸發(fā)的事件
protected void gvSupplier_RowUpdating(object sender, GridViewUpdateEventArgs e)
...{
int id = e.RowIndex;
GridViewRow gvr = this.gvSupplier.Rows[id];
int suppId = int.Parse(((HyperLink)(gvr.Cells[7].Controls[0])).Text.ToString());
string name = ((TextBox)gvr.Cells[0].Controls[0]).Text.ToString();
string status = ((TextBox)gvr.Cells[1].Controls[0]).Text.ToString();
string addr1 = ((TextBox)gvr.Cells[2].Controls[0]).Text.ToString();
string addr2 =((TextBox) gvr.Cells[3].Controls[0]).Text.ToString();
string city = ((TextBox)gvr.Cells[4].Controls[0]).Text.ToString();
string state = ((TextBox)gvr.Cells[5].Controls[0]).Text.ToString();
string zip=((TextBox)gvr.Cells[6].Controls[0]).Text.ToString();
string sqlString = "update Supplier set Name= ' " + name + " ',Status= ' " + status + " ',Addr1= ' " + addr1 + " ',Addr2= ' " + addr2 + " ',City= ' " + city + " ',State= ' " + state + " ',Zip= ' " + zip + " ' where SuppId= " + suppId;
int result = ExecuteSql(sqlString);
if (result == 1)
...{
//......
}
this.gvSupplier.EditIndex = -1;
this.BindGvSupplier();
}
//增加一條記錄
protected void btnAdd_Click(object sender, EventArgs e)
...{
string name = this.txtName.Text.ToString();
string status = this.txtStatus.Text.ToString();
string addr1 = this.txtAddr1.Text.ToString();
string addr2 = this.txtAddr2.Text.ToString();
string city = this.txtCity.Text.ToString();
string state = this.txtState.Text.ToString();
string zip = this.txtZip.Text.ToString();
string sqlString = "insert into Supplier values(SQSuppId.Nextval, ' " + name + " ', ' " + status + " ', ' " + addr1 + " ', ' " + addr2 + " ', ' " + city + " ', ' " + state + " ', ' " + zip + " ') ";
if (this.ExecuteSql(sqlString) == 1)
...{
this.Alert( "你成功添加一條數(shù)據(jù) ", this.Page);
}
else
...{
this.Alert( "添加未成功! ", this.Page);
}
this.BindGvSupplier();
}
//查看共有多少條數(shù)據(jù)
private int GetTotalCount()
...{
//try
//{
OracleConnection conn = this.Conn();
conn.Open();
OracleCommand cmd = new OracleCommand( "select count(*) from Supplier ", conn);
int count = Convert.ToInt32(cmd.ExecuteScalar());
conn.Close();
return count;
//}
//catch
//{
// return 0;
//}
}
//彈出警告窗口
public void Alert(string str_Message, Page page)
...{
page.RegisterStartupScript( " ", " <script >alert( ' " + str_Message + " '); </script > ");
}
//彈出確認(rèn)對(duì)話框
public void Confirm(string str_Message, string btn, Page page)
...{
page.RegisterStartupScript( " ", " <script > if (confirm( ' " + str_Message + " ')==true){document.forms(0). " + btn + ".click();} </script > ");
}
protected void cbAllSelect_CheckedChanged(object sender, EventArgs e)
...{
for(int i=0;i <this.gvSupplier.Rows.Count;i++)
...{
CheckBox cbSelect=(CheckBox)(gvSupplier.Rows[i].Cells[10].FindControl( "cbSelect "));
cbSelect.Checked=this.cbAllSelect.Checked;
}
}
//當(dāng)點(diǎn)擊刪除按鈕時(shí)刪除所有checkbox被選中的數(shù)據(jù)
protected void btnDel_Click(object sender, EventArgs e)
...{
//如果用戶確認(rèn)將觸發(fā)btnRealDel的事件
this.Confirm( "你真的要?jiǎng)h除你所選的數(shù)據(jù)么? ", "btnRealDel ", this.Page);
}
//真實(shí)的刪除操作
public void btnRealDel_Click(object sender, EventArgs e)
...{
int count = 0;
for (int i = 0; i < this.gvSupplier.Rows.Count; i++)
...{
CheckBox myCb = (CheckBox)(this.gvSupplier.Rows[i].Cells[10].FindControl( "cbSelect "));
if (myCb.Checked)
...{
count++;
HyperLink hl = (HyperLink)(this.gvSupplier.Rows[i].Cells[7].Controls[0]);
int suppId = int.Parse(hl.Text.ToString());
string sqlString = "delete from Supplier where SuppId= " + suppId;
this.ExecuteSql(sqlString);
}
}
if (count > 0)
...{
this.Alert( "你成功刪除了 " + count + "條數(shù)據(jù) ", this.Page);
this.BindGvSupplier();
}
}
聯(lián)系客服