解决GridView中嵌入CheckBox,事件无法响应的问题
2012-12-01 14:01
501 查看
解决GridView中嵌入CheckBox,事件无法响应的问题 今天在一个项目中的某个页面内添加了一个GRIDVIEW表控件,其中一个字段为模板列,放入了一个CHECKBOX复选框控件,我希望用户在选择复选框时能激发它的CheckedChanged事件,从而进行数据库的操作,代码如下:
ASPX页面代码:
代码
<asp:GridView ID="gridCursor" runat="server" CssClass="Grid" Width="90%"
AutoGenerateColumns="False" onrowdatabound="gridCursor_RowDataBound"
DataKeyNames="学科代码,状态">
<Columns>
<asp:BoundField DataField="学科代码" HeaderText="学科代码" />
<asp:BoundField DataField="学科名称" HeaderText="学科名称" />
<asp:TemplateField HeaderText="状态">
<ItemTemplate>
<asp:CheckBox ID="chkValid" runat="server" AutoPostBack="True"
oncheckedchanged="chkValid_CheckedChanged" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
后台CheckedChanged事件的代码:
代码
protected void chkValid_CheckedChanged(object sender, EventArgs e)
{
CheckBox checkbox = (CheckBox)sender;
GridViewRow row = (GridViewRow)checkbox.NamingContainer;
string codeCursor = gridCursor.DataKeys[row.RowIndex]["学科代码"].ToString();
if (checkbox.Checked)
sysSqlRunner.isDone("update educa_bas_course set status=1 where code='" + codeCursor + "'");
else
sysSqlRunner.isDone("update educa_bas_course set status=0 where code='" + codeCursor + "'");
}
程序虽然写好了,可以正确编译运行,但奇怪的是CHECKBOX的CheckedChanged事件确怎么也触发不了,在网上找了很多类似问题的解答都无效,最后找到一篇文章说需要把GRIDVIEW的EnableViewState设为false才行,结果一试,果然可以触发CheckedChanged事件了。
ASPX页面代码:
代码
<asp:GridView ID="gridCursor" runat="server" CssClass="Grid" Width="90%"
AutoGenerateColumns="False" onrowdatabound="gridCursor_RowDataBound"
DataKeyNames="学科代码,状态">
<Columns>
<asp:BoundField DataField="学科代码" HeaderText="学科代码" />
<asp:BoundField DataField="学科名称" HeaderText="学科名称" />
<asp:TemplateField HeaderText="状态">
<ItemTemplate>
<asp:CheckBox ID="chkValid" runat="server" AutoPostBack="True"
oncheckedchanged="chkValid_CheckedChanged" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
后台CheckedChanged事件的代码:
代码
protected void chkValid_CheckedChanged(object sender, EventArgs e)
{
CheckBox checkbox = (CheckBox)sender;
GridViewRow row = (GridViewRow)checkbox.NamingContainer;
string codeCursor = gridCursor.DataKeys[row.RowIndex]["学科代码"].ToString();
if (checkbox.Checked)
sysSqlRunner.isDone("update educa_bas_course set status=1 where code='" + codeCursor + "'");
else
sysSqlRunner.isDone("update educa_bas_course set status=0 where code='" + codeCursor + "'");
}
程序虽然写好了,可以正确编译运行,但奇怪的是CHECKBOX的CheckedChanged事件确怎么也触发不了,在网上找了很多类似问题的解答都无效,最后找到一篇文章说需要把GRIDVIEW的EnableViewState设为false才行,结果一试,果然可以触发CheckedChanged事件了。
相关文章推荐
- 解决GridView中嵌入CheckBox事件无法响应的问题
- 解决GridView中嵌入CheckBox事件无法响应的问题
- 解决GridView中嵌入CheckBox,事件无法响应的问题
- 【转】解决GridView中嵌入CheckBox事件无法响应的问题
- 老问题,GridView中嵌入CheckBox,事件无法相应
- 关于无边框EXE程序窗口嵌入IE浏览器WebBrowser右键属性窗口无法点击响应问题的解决
- 解决listView的item无法响应点击事件onItemClickListener的问题
- GridView设置Item高度,解决第一个item显示不正常以及事件不响应的问题
- 用C++在cocos2d-x 3.2下完美解决Menu吞掉事件导致ScrollView等无法响应的问题
- android Webview中注入js,用于解决第三方页中出现返回事件window.history.go(-1),无法响应问题
- iOS开发之解决隐藏tabbar后原位置无法响应点击事件的问题
- 【问题】当GridView嵌入ListView后,始终响应的是GridView的点击事件,我需要的是获取到ListView的点击事件!
- Gridview Row事件响应方法无法获取其它UpdatePanel中控件数据的解决办法
- 解决Android中Listview条目里面有checkbox、radiobutton无法响应条目点击事件
- 解决scrollview嵌入ListView或GridView首次无法显示到顶部的问题
- Jquery解决动态加入的新元素后事件无法响应的问题
- 解决UIWebView无法响应_doPostBack事件问题
- SenchaTouch2中navigation下嵌入list无事件响应问题解决
- cocos2d-x 3.x 关于cocostudio的UI将事件吃掉,场景Layer无法响应手势的问题解决方法
- SenchaTouch2中navigation下嵌入list无事件响应问题解决