GridView使用技巧之:如何在RowCommand里获取模板列里绑定的内容?
2010-04-11 18:29
801 查看
前言:在GRIDVIEW的使用中,我们经常会碰到这样的需求:GRIDVIEW虽然自带了“编辑”的功能,但是有时候我们不愿意在girdview直接进行修改 ,这时就得自己通过RowCommand事件来做这个编辑的功能
例子如下:这个是我项目中的教室的占用情况表,我要修改一天内几个时间段的使用情况,因为有特殊的需求,那些信息我是用模板列里面用label控件绑定的,修改时前几列是不需要动的,综合考虑,我没有用gridview自带的编辑功能,我通过一个按钮(放在隐藏列里,我通过双击或者右健菜单激发该事件)
这是双击第一条记录后出现的编辑界面:
那么这些数据已经在GRIDVIEW读出来了,编辑时我们就没有必要再从数据库中去读数据,直接将GRIDVIEW里的数据给拿过来绑定上就是,那么如何实现呢,后台代码如下:
protected void SmartGridView1_RowCommand(object sender, GridViewCommandEventArgs e)
...{
if (e.CommandName == "EEdit")
...{
string roomid = e.CommandArgument.ToString().Trim();
GridViewRow row = ((Button)e.CommandSource).Parent.Parent as GridViewRow;//获得双击的那一行,这是关键部分
string zc = ((Label)row.Cells[2].FindControl("Label2")).Text.Trim();
string xq = ((Label)row.Cells[3].FindControl("Label3")).Text.Trim();
lblRoomID.Text = roomid;
lblWeek.Text = zc;
lblDay.Text = xq;
ddl1.SelectedValue = ((Label)row.Cells[4].FindControl("Label4")).Text.Trim();
ddl2.SelectedValue = ((Label)row.Cells[5].FindControl("Label5")).Text.Trim();
ddl3.SelectedValue = ((Label)row.Cells[6].FindControl("Label6")).Text.Trim();
ddl4.SelectedValue = ((Label)row.Cells[7].FindControl("lblIs1")).Text.Trim();
ddl5.SelectedValue = ((Label)row.Cells[8].FindControl("Label7")).Text.Trim();
Panel1.Visible = false;
Panel2.Visible = true;
}
}
就这样,GRIDVIEW里的数据就帮定到了编辑的控件上面,这样做的好处是我们修改时界面简单名了,不会受其他因素干扰,还有碰到有时候一列里内容多的情况时,在GRIDVIEW里编辑,回把整个页面撑的乱七八糟,影响美观,那么我们单独跳出来编辑就可以解决这个问题。。呵呵。。纯属个人观点。。各有各的做法,但是我喜欢这种方式。。你赞同吗?
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/j_jake/archive/2007/07/12/1686676.aspx
例子如下:这个是我项目中的教室的占用情况表,我要修改一天内几个时间段的使用情况,因为有特殊的需求,那些信息我是用模板列里面用label控件绑定的,修改时前几列是不需要动的,综合考虑,我没有用gridview自带的编辑功能,我通过一个按钮(放在隐藏列里,我通过双击或者右健菜单激发该事件)
这是双击第一条记录后出现的编辑界面:
那么这些数据已经在GRIDVIEW读出来了,编辑时我们就没有必要再从数据库中去读数据,直接将GRIDVIEW里的数据给拿过来绑定上就是,那么如何实现呢,后台代码如下:
protected void SmartGridView1_RowCommand(object sender, GridViewCommandEventArgs e)
...{
if (e.CommandName == "EEdit")
...{
string roomid = e.CommandArgument.ToString().Trim();
GridViewRow row = ((Button)e.CommandSource).Parent.Parent as GridViewRow;//获得双击的那一行,这是关键部分
string zc = ((Label)row.Cells[2].FindControl("Label2")).Text.Trim();
string xq = ((Label)row.Cells[3].FindControl("Label3")).Text.Trim();
lblRoomID.Text = roomid;
lblWeek.Text = zc;
lblDay.Text = xq;
ddl1.SelectedValue = ((Label)row.Cells[4].FindControl("Label4")).Text.Trim();
ddl2.SelectedValue = ((Label)row.Cells[5].FindControl("Label5")).Text.Trim();
ddl3.SelectedValue = ((Label)row.Cells[6].FindControl("Label6")).Text.Trim();
ddl4.SelectedValue = ((Label)row.Cells[7].FindControl("lblIs1")).Text.Trim();
ddl5.SelectedValue = ((Label)row.Cells[8].FindControl("Label7")).Text.Trim();
Panel1.Visible = false;
Panel2.Visible = true;
}
}
就这样,GRIDVIEW里的数据就帮定到了编辑的控件上面,这样做的好处是我们修改时界面简单名了,不会受其他因素干扰,还有碰到有时候一列里内容多的情况时,在GRIDVIEW里编辑,回把整个页面撑的乱七八糟,影响美观,那么我们单独跳出来编辑就可以解决这个问题。。呵呵。。纯属个人观点。。各有各的做法,但是我喜欢这种方式。。你赞同吗?
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/j_jake/archive/2007/07/12/1686676.aspx
相关文章推荐
- GridView使用技巧之:如何在RowCommand里获取模板列里绑定的内容?
- GridView使用技巧之:如何在RowCommand里获取模板列里绑定的内容?
- 如何使用动态创建模板列并绑定数据(GridView,Repeater,DataGrid)
- GridView使用技巧之:根据绑定的内容改变单元格(或者行)的显示样式
- 菜鸟学Asp.Net——GridView控件之RowDataBind事件中如何获取已绑定的数据
- 如何使用动态创建模板列并绑定数据(GridView,Repeater,DataGrid)
- GridView使用技巧之:如何只绑定特定长度的文本?
- 如何使用动态创建模板列并绑定数据(GridView,Repeater,DataGrid)
- GridView使用技巧之:如何只绑定特定长度的文本?
- GridView使用技巧之:如何只绑定特定长度的文本?
- bat文件中使用DOS命令如何截取字符串&如何执行“字符串命令”&获取文件文件内容并赋值给变量
- 如何在GridView中使用RadioButtons单选列,并且获取所选定RadioButton的值。
- WordPress 技巧:如何获取日志内容的第一段
- ASP.NET数据绑定GridView控件使用技巧
- ASP.NET技巧:使用Gridview绑定数据库中的图片
- Metro之GridView控件的使用-绑定不同的模板样式显示
- 如何使用curl获取网页内容
- (转)在GridView中使用模板列LinkButton,如何知道当前的LinkButton点击在哪行记录上?
- 如何在GridView的RowCommand事件中获取当前的GridViewRow
- 【代码】获取https里面内容的方法和技巧使用php