我正在使用Gridview控件,我还在ASP .NET的每一行添加了单选按钮。 这是我想要完成的事情,但我不确定应该怎么做。问题是我已经在每个gridview中添加了多个数据流。像下面的东西。
因此,在某些情况下,我添加了一行,其中包含两行,如示例所示。并且,ID最终将是用户可以点击的单选按钮。有什么方法可以实现这个目标吗?
谢谢你的帮助。
答案 0 :(得分:0)
这有点奇怪的要求,但我在过去做了类似的事情,我为每一行添加了第二行的备注框,因为它太宽而不适合当前行。< / p>
在你的RowDataBound事件中尝试这样的事情:
GridView x = (GridView)sender;
if (e.Row.RowType == DataControlRowType.DataRow && x.EditIndex == e.Row.RowIndex)
{
TextBox notes = (TextBox)e.Row.Cells[0].Controls[0];
notes.Height = // some height
notes.Width = // some width
notes.TextMode = TextBoxMode.MultiLine;
e.Row.Cells[0].Controls.Clear();
GridViewRow row = new GridViewRow(0, 0, DataControlRowType.DataRow, DataControlRowState.Normal);
TableCell cell = new TableCell();
cell.ColumnSpan = // gridview columns count;
cell.Controls.Add(notes);
row.Cells.Add(cell);
x.Controls[0].Controls.AddAt(x.EditIndex + 2, row);
}
请注意,这是从第23列抓取现有绑定的TextBox并将其复制到新行,然后从原始单元格中删除它。此外,备注框仅显示在正在编辑的行上,因此:&& x.EditIndex == e.Row.RowIndex
和x.Controls[0].Controls.AddAt(x.EditIndex + 2, row);
您可能只想要new GridViewRow
和new TableCell
部分。
答案 1 :(得分:0)
对于RadioButton,您需要使用
<asp:TemplateField>
<ItemTemplate>
<asp:RadioButton ID="RadioButton1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
取决于您绑定到GridView的数据,例如对象列表中的对象列表,您可以使用Container.DataItem在Gridview中绑定Gridview。
<asp:TemplateField>
<ItemTemplate>
<asp:GridView ID="GridView2" runat="server" DataSource='<%((Relationships)Container.DataItem).People %>'>
<Columns>
</Columns>
</asp:GridView>
</ItemTemplate>
</asp:TemplateField>