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

【C#】DataGridView的常用用法

2008-05-21 00:12 417 查看
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();


}




//分页触发的事件


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();


}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: