您的位置:首页 > 编程语言 > C#

【C#】DataGridView的常用用法

2009-03-05 18:19 281 查看
//读取表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(); 
} 

//分页触发的事件 
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); 
} 

//删除按钮触发的事件 
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; 
//如果本页只有一条数据,删除后要向前翻一页 
if   (this.gvSupplier.Rows.Count   ==   1) 
...{ 
if   (this.gvSupplier.PageIndex   >   1) 
...{ 
this.gvSupplier.PageIndex--;   
} 
} 
int   result   =   ExecuteSql(sqlString); 
if   (result   ==   1) 
...{ 
this.Alert( "你成功删除一条数据 ",   this.Page); 
} 
this.BindGvSupplier(); 
this.BindGvSupplier(); 

} 

//绑定删除按钮的确认提示 
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( '你确认删除 "+e.Row.Cells[0].Text+ "吗? ') "); 
//鼠标经过时改变行的颜色 
e.Row.Attributes.Add( "onmouseover ",   "this.style.backgroundColor= '#ffffe7 ' "); 
e.Row.Attributes.Add( "onmouseout ",   "this.style.backgroundColor= 'transparent ' "); 
} 
} 

//执行一条Oracle语句 
private   int   ExecuteSql(String   sqlString) 
...{ 
//try 
//{ 
OracleConnection   conn   =   this.Conn(); 
conn.Open(); 
OracleCommand   cmd   =   new   OracleCommand(sqlString,   conn); 
int   effectedLine   =   cmd.ExecuteNonQuery(); 
conn.Close(); 
return   effectedLine; 
//} 
//catch 
//{ 
//   return   0; 
//} 
} 

//点击编辑按钮时触发的事件 
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(); 
} 
//点击取消按钮时触发的事件 
protected   void   gvSupplier_RowCancelingEdit(object   sender,   GridViewCancelEditEventArgs   e) 
...{ 
this.gvSupplier.EditIndex   =   -1; 
this.BindGvSupplier(); 
} 
//点击更新按钮时触发的事件 
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( "你成功添加一条数据 ",   this.Page); 
} 
else 
...{ 
this.Alert( "添加未成功! ",   this.Page); 
} 
this.BindGvSupplier(); 
} 

//查看共有多少条数据 
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 > "); 
} 

//弹出确认对话框 
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; 
} 
} 

//当点击删除按钮时删除所有checkbox被选中的数据 
protected   void   btnDel_Click(object   sender,   EventArgs   e) 
...{ 
//如果用户确认将触发btnRealDel的事件 
this.Confirm( "你真的要删除你所选的数据么? ",   "btnRealDel ",   this.Page); 

} 

//真实的删除操作 
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   +   "条数据 ",   this.Page); 
this.BindGvSupplier(); 
}   
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: