DataGrid实现了添加、删除、修改、分页、动态修改内容等功能,今天再来分析一下如何为之添加自增列、单选、多选的功能。
首先看一下需要在上次的基础上增加的代码:
(1)实现自增列
只需要在前台添加一个模板列,绑定ItemIndex+1就可以了
<asp:TemplateColumn HeaderText="选择">
<ItemTemplate>
<%# Container.ItemIndex+1%>
</ItemTemplate>
</asp:TemplateColumn>
(2)实现单选
在上面的基础上,为这个列加一个radio
<asp:TemplateColumn HeaderText="选择">
<ItemTemplate>
<%# Container.ItemIndex+1%>
<input type=radio name="rad" value='<%# Container.ItemIndex+1%>'>
</ItemTemplate>
</asp:TemplateColumn>
radio的值也就是自增的1-PageSize
再创建一个按钮(名字叫单选),为之添加如下代码
this.Label1.Text = "选择的行号:" + Request.Form["rad"].ToString();
这样简单的几步虽然实现了显示选择的行号,但是在按下按钮以后,radio的选择是不能被保留的,原因是这个radio不是runat=server的,我们需要再为这个页面放置一个隐藏域(需runat=server)用来在点击按钮的时候保存选择的radio,在前台添加<input type="hidden" id="rd" runat="server" name="rd">(注意
首先看一下需要在上次的基础上增加的代码:
(1)实现自增列
只需要在前台添加一个模板列,绑定ItemIndex+1就可以了
<asp:TemplateColumn HeaderText="选择">
<ItemTemplate>
<%# Container.ItemIndex+1%>
</ItemTemplate>
</asp:TemplateColumn>
(2)实现单选
在上面的基础上,为这个列加一个radio
<asp:TemplateColumn HeaderText="选择">
<ItemTemplate>
<%# Container.ItemIndex+1%>
<input type=radio name="rad" value='<%# Container.ItemIndex+1%>'>
</ItemTemplate>
</asp:TemplateColumn>
radio的值也就是自增的1-PageSize
再创建一个按钮(名字叫单选),为之添加如下代码
this.Label1.Text = "选择的行号:" + Request.Form["rad"].ToString();
这样简单的几步虽然实现了显示选择的行号,但是在按下按钮以后,radio的选择是不能被保留的,原因是这个radio不是runat=server的,我们需要再为这个页面放置一个隐藏域(需runat=server)用来在点击按钮的时候保存选择的radio,在前台添加<input type="hidden" id="rd" runat="server" name="rd">(注意