九九范文帮

位置:首页 > 工作总结 > 学习总结

关于GridView使用学习总结

由于视频比较旧,涉及到的数据绑定控件DataGrid在VS20xx中已经没有了,取而代之的是GridView。开始觉得视频中的例子没法实现了,其实不然,DataGrid里面的功能GridView里一样都不少,只是形式变化了一下,仔细研究一下发现它们是换汤不换药啊。

关于GridView使用学习总结

(一)DataKeyName属性

(1)DataKeyNames一般都是用来对当前行做唯一标示的,所以一般为数据库的ID。

(2)Keys[ndex],ndex是获取事件对应的行,Keys[ndex]就是获取对应行的唯一标示也就是DataKeyNames所指定列的值。

(3)DataList和Repeater是没有的该属性的。

代码中这样使用:(定义的该函数在下面都需要调用)

/// 实现数据绑定功能 ///

private void BindToDataGird { SqlConnection con = teCon; SqlDataAdapter sda = new SqlDataAdapter; ctCommand = new SqlCommand("select employeeID,FirstName,LastName,Title,BirthDate from employees ", con); DataSet ds = new DataSet; (ds, "emp"); //将查询到的数据添加到DataSet中。 KeyNames =new string{ "employeeID"}; //DataKeyNames的使用 Source = es["emp"]; Bind; }

如何取值?

DataKey key = Keys[ndex];//其中e为GridViewDelete(或者Edit)EventArgs e string empID = key[0]ring;

(二)分页

由于GridView中封装了分页的功能。这里实现起来很容易。先需要设置属性:AllowPaging/PageSize/PageSetting。然后编写事件代码:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { Index = ageIndex; ToDataGird; }

(三)排序

首先设置AllowSorting属性为true.事件代码:

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) { if (ViewState["order"] == null) //使用ViewState设置双向排序。 { ViewState["order"] = "ASC"; } else { if (ViewState["order"]ring == "ASC") { ViewState["order"] = "DESC"; } else { ViewState["order"] = "ASC"; } } //数据绑定显示 SqlConnection con = teCon; SqlDataAdapter sda = new SqlDataAdapter; ctCommand = new SqlCommand("select employeeID,FirstName,LastName,Title,BirthDate from employees ", con); DataSet ds = new DataSet; (ds, "emp"); es["emp"] = Expression + " " + ViewState["order"]ring; //设置排序 Source = es["emp"]ultView; //将表的默认视图作为数据源。 Bind; }

(四)删除

这里需要注意一点:就是获取某一行的主键值。

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { DataKey key = Keys[ndex]; string empID = key[0]ring; SqlConnection con = teCon; SqlCommand cmd = new SqlCommand(" from employees where employeeID= +empID+" , con); ; uteNonQuery; ToDataGird; }

(五)编辑(更新和取消)

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { Index = ditIndex; ToDataGird; } protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { Index = -1; //设置索引值为负取消编辑。 ToDataGird; } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { DataKey key = Keys[ndex]; string empID = key[0]ring; string lastName=((TextBox)( [ndex ] s [2]rols [0])) ; //将GridView中某列中控件强制转换为TextBox,然后取出它的值。 e(empID +"&" + lastName ); //用于测试。 Index = -1; ToDataGird; }

标签:GridView 学习