导航
  • 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ
  • 问答

在线等答案???DataGrid嵌套使用的问题

hexinyu2005 2007-04-16 04:28:52
DataGrid嵌套使用时,每一行记录都有一个checkbox

当外面一层的checkbox选中是,里面一层的都要选中

每选一个都要知道目前所有选的ID

请高手给我点思路
...全文
184 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chnj1981 2007-04-16
*.aspx
<Columns>
<asp:TemplateField HeaderText="√">
<ItemTemplate>
<asp:CheckBox ID="chkItem" runat="server" />
<asp:Label ID="lblID" runat="server" Visible="false" Text='<%# DataBinder.Eval(Container, "DataItem.Id") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="20px" />
</asp:TemplateField>
</Columns>

*.cs

for (int i = 0; i < dg.Rows.Count; i++)
{
string strChk ="";
CheckBox chkItem = (CheckBox)dg.Items[i].FindControl("chkItem");
Label lblID = (Label)dg.Items[i].FindControl("lblID");

if (chkItem.Checked)
{
if (strChk == "")
{
strChk = lblID.Text;
}
else
{
strChk = strChk + "," + lblID.Text;
}
}
}
回复
tjw687492 2007-04-16
for(int i=0;i<this.DataGrid.Items.Count;i++)
{
if(((CheckBox)this.DataGrid.Items[i].FindControl("checkboxName")).Checked)
{
//得到所需隐藏列的ID:this.DataGrid.Items[i].Cells[0].Text
}
}
回复
tjw687492 2007-04-16
function selectAll(object)
{
table = document.all.DataGrid;
var chks = table.getElementsByTagName("input");
for(var i=0;i<chks.length;i++)
{
chks[i].checked = object.checked;
}
}

再给DataGrid一个隐藏列,记录ID就可以了
回复
hexinyu2005 2007-04-16
能不能说详细点
回复
孟子E章 2007-04-16
使用你点击所在的行的tr.getElementsByTagName("INPUT")即可
回复
发动态
发帖子
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
社区公告
暂无公告