如何判断GridView中的CheckBox是否勾选?

程序猿GG 2009-10-09 10:34:54
我想实现的功能是:当下面GridView中第一栏位的CheckBox选中时, 读取该行记录的Shipment_Id栏位(第二栏)的值.
那么我该如何判哪些行的CheckBox是选中状状?

如果我想控制,只允许有一行为选中状态(即不允许有同时两行被勾选), 该如何做?
<asp:GridView ID="GridView1" runat="server" Width="100%" DataSourceID="ods_HFA_PackingList"
AutoGenerateColumns="False" CellPadding="3">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chk_HFA" runat="server" /></ItemTemplate>
<HeaderStyle Width="10px" Wrap="False" />
<ItemStyle Width="10px" Wrap="False" />
</asp:TemplateField>
<asp:BoundField DataField="Shipment_Id" HeaderText="走货批次">
<HeaderStyle HorizontalAlign="Center" Wrap="False" />
<ItemStyle HorizontalAlign="Center" Wrap="False" />
</asp:BoundField>
<asp:BoundField DataField="Carton_Qty" HeaderText="总箱数">
<HeaderStyle HorizontalAlign="Center" Wrap="False" />
<ItemStyle HorizontalAlign="Center" Wrap="False" />
</asp:BoundField>
<asp:BoundField DataField="Sum_Budget_Packing_Qty" HeaderText="预装数">
<HeaderStyle HorizontalAlign="Center" Wrap="False" />
<ItemStyle HorizontalAlign="Center" Wrap="False" />
</asp:BoundField>
<asp:BoundField DataField="Sum_Packed_Qty" HeaderText="已装数量">
<HeaderStyle HorizontalAlign="Center" Wrap="False" />
<ItemStyle HorizontalAlign="Center" Wrap="False" />
</asp:BoundField>
<asp:BoundField DataField="Exfactory_Notes_Code" HeaderText="走货单号">
<HeaderStyle HorizontalAlign="center" Wrap="false" />
<ItemStyle HorizontalAlign="center" Wrap="false" />
</asp:BoundField>
</Columns>
<HeaderStyle BackColor="#E0E0E0" />
<AlternatingRowStyle Wrap="False" />
</asp:GridView>
...全文
870 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sgwz850 2010-09-19
  • 打赏
  • 举报
回复
顶真理,学习学习
mldsh_111 2010-07-13
  • 打赏
  • 举报
回复
顶楼上的,学习了。
yxzbest 2009-10-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 f231358 的回复:]
C# codebool cbx=false;string Shipment_Id_value;for (int i=0; i<this.GridView1.Rows.Count; i++)
{
cbx= ((CheckBox)GridView1.Rows[i].FindControl("CheckBox1")).Checked;if (cbx¡­
[/Quote]
lcglvgn 2009-10-09
  • 打赏
  • 举报
回复
顶楼上,你把选中的checked变为true,其他的设置成为false就OK了
f231358 2009-10-09
  • 打赏
  • 举报
回复
不好意思 上面的代码
FindControl( "CheckBox1 ")
把里面的CheckBox1 改成你的chk_HFA

随手写的 比较急
另外 只允许有一行为选中状态(即不允许有同时两行被勾选),
这个最好用JS 如果用后台的 点一下就会刷新页面
用JS只在客户端运行 减轻服务器负担
一会我开完会没人回的话我再给你写吧~~~
f231358 2009-10-09
  • 打赏
  • 举报
回复

bool cbx= false;
string Shipment_Id_value;
for (int i = 0; i < this.GridView1.Rows.Count; i++)
{
cbx = ((CheckBox)GridView1.Rows[i].FindControl( "CheckBox1 ")).Checked;
if (cbx)
{
Shipment_Id_value = GridView1.Rows[i].Cells["1"].Text.Trim();//获取该行记录的Shipment_Id栏位(第二栏)的值.

}
randomfeel 2009-10-09
  • 打赏
  • 举报
回复
用findcontrol,在后台写GridView1.FindControl("chk_HFA"),然后把对象转成CheckBox,判断是否勾选

用js,点击勾选某一行时,把其他行的勾选状态都设置为false
Iovswety 2009-10-09
  • 打赏
  • 举报
回复

for i = 0 to gridview.rows.count - 1
ctpye(GridView.Rows(i).FindControl("chk_HFA"), CheckBox).Checked
next

第11章 HTML客户端控件与服务器控件 245 11.1 数据控件应用技巧 246 0444 如何将数组绑定到GridView数据控件 246 0445 使用GridView Web服务器控件绑定数据源 246 0446 使用GridView Web服务器控件自定义外观风格 247 0447 使用GridView Web服务器控件的简单排序 247 0448 如何在GridView Web服务器控件分页 248 0449 使用GridView Web服务器控件编辑数据 249 0450 使用GridView Web服务器控件删除数据 251 0451 如何使用GridView Web服务器控件选择数据 252 0452 单击GridView控件按钮刷新保持原来的位置 253 0453 向GridView Web控件添加CheckBox控件 253 0454 如何使用GridView Web控件实现超级链接 254 0455 在GridView Web控件高亮显示鼠标所在行 256 0456 实现DataList Web服务器控件数据绑定功能 256 0457 如何实现DataList Web服务器控件分页功能 258 0458 实现查看DataList控件数据的详细信息 259 0459 如何在DataList控件创建多个列 260 0460 如何实现DetailsView 控件分页功能 261 0461 将DataSet类对象绑定到Repeater数据控件 262 11.2 导航控件应用技巧 263 0462 TreeView、SiteMapDataSource控件和SiteMap文件实现导航 263 0463 如何在TreeView控件添加连接线 264 0464 以编程方式向TreeView控件添加节点 264 0465 如何在TreeView控件显示CheckBox控件 265 0466 如何判断TreeView控件勾选的节点 265 0467 用SiteMapPath控件绑定SiteMap文件实现导航 266 0468 如何设置SiteMapPath控件路径分隔符 266 0469 如何设置SiteMapPath控件路径方向 267 0470 如何设置SiteMapPath控件父节点显示个数 267 0471 如何设置SiteMapPath控件提示字符 268 0472 如何用Menu控件绑定SiteMap文件实现导航 268 0473 如何设置Menu控件显示静态菜单 269 0474 如何以编程方式创建Menu控件 270 11.3 标准控件应用技巧 271 .。。。。。。。。。。。。。。。。。。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧