GridView是我们在asp.net中用得比较多的数据显示空间,方便、快捷。
后台的一些操作,诸如行选择、修改、删除,以及前期的数据源绑定等,写起来比较繁琐。这里做个小札记,整理下思维。
1、数据绑定RowDataBound
数据绑定,一般可以选择gridView.DataSource=dataSet|dataTable, gridView.DataBind();进行绑定,数据绑定期间有些数据可能需要处理之后再绑定到GridView中显示,比如数据库中1代表正常,0代表不正常,这可以通过sql语句前期处理,也可以使用gridView_RowDataBound()函数进行操作。
在使用RowDataBound函数之前,先将要修改显示的列用<asp:TemplateField>显示,在里面再添加<ItemTemplate>,再嵌入<asp:Label>标签。在RowDataBound函数中首先需判断该行书否是数据行e.Row.RowType==DataControlRowType.DataRow,然后用e.Row.FindControl(label_id) as Label获取刚才写的Label,通过Label.text即可获取原值,如0。我们可以作个判断,在用(r.ROw.FindControl(label_id) as Label).Text对修改后的数据进行写回。
实例:
protected void gv_sourceOrder_RowDataBound(object sender,
GridViewRowEventArgs e)
{
if (e.Row.RowType ==
DataControlRowType.DataRow)
{
Label la_retDate =
e.Row.FindControl("lb_retdate") as Label;
if (la_retDate != null
&& la_retDate.Text.Length >= 4)
{
string
reDateStr = la_retDate.Text.Substring(0, 4);
if
(reDateStr.Equals("0001"))
{
(e.Row.FindControl("lb_retdate")
as Label).Text = "";
}
}
}
}
2、行选择操作SelectedIndexChanging
在GridView可视化界面中手动添加命令行,添加选择操作,这时候我们需要给Gridview添加gridView_SeletedIndexChanging()响应函数。通过gridview.DateKeys[e.NewSelectedIndex].Value.ToString()即可获得该行的主键。
3、翻页PageIndexChanging
多条数据显示时,如果用的翻页,需将gridview的AllowPaging改为True。PageIndexChanging参数主要是gridView.PageIndex=e.NewPageIndex。写完翻页后 gridview需要重新绑定数据。
4、删除行RowDeleting
删除行与行选择操作类似,通过gridView.DataKeys[e.RowIndex].Value.toString();获取要删除行的id,再后台删除。