将复选框列添加到 asp.net gridview
Posted
技术标签:
【中文标题】将复选框列添加到 asp.net gridview【英文标题】:Adding a checkbox column to asp.net gridview 【发布时间】:2014-04-10 17:57:12 【问题描述】:关于在asp.net
中将CheckBox
列添加到gridview
并获取多个值时,我有几个问题。首先,我看到每个人都将OnCheckedChanged="chkview_CheckedChanged"
添加到他们的aspx
页面,但是当您单击CheckBox
设置其操作时,它不会打开OnCheckedChanged="chkview_CheckedChanged"
。它会打开 SelectedIndexChanged
事件。我想要做的是当他们选择CheckBox
时,它会将相应的行信息添加到TextBox
。这是我目前用来设置值的内容。如何改用选定的CheckBox
?
protected void dropGridView_SelectedIndexChanged1(object sender, EventArgs e)
GridViewRow row = dropdeadGridView.SelectedRow;
IDTextBox.Text = row.Cells[1].Text;
loadnumTextBox.Text = row.Cells[2].Text;
完成此操作后,您如何才能到达将检查每一行的位置,而不仅仅是我当前的问题。我正在寻找一种选择多行并具有选择按钮的方法。我已经做了很多寻找,但什么也找不到,所以我试图用CheckBoxes
来代替它。任何想法我可以如何添加它并获得可以选择的多行。提前谢谢你。
这是我的编辑* 发布 CheckBox
列的 asp 代码:
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="SelectCheckBox" runat="server" OnCheckedChanged="SelectCheckBox_OnCheckedChanged"/>
</ItemTemplate>
</asp:TemplateField>
【问题讨论】:
【参考方案1】:首先你必须将 autopostback 属性设置为 true :
<asp:CheckBox ID="SelectCheckBox" runat="server" AutoPostBack="true"
OnCheckedChanged="SelectCheckBox_OnCheckedChanged"/>
在您的情况下,SelectedIndexChanged
是由 gridview 发送的。对于复选框事件,您必须使用 OnCheckedChanged
事件:
protected void SelectCheckBox_OnCheckedChanged(object sender, EventArgs e)
CheckBox chk = sender as CheckBox ;
if(chk.Checked)
GridViewRow row = (GridViewRow)chk.NamingContainer;
IDTextBox.Text = row.Cells[1].Text;
loadnumTextBox.Text = row.Cells[2].Text;
如果你想遍历所有选中的复选框:
var rows = dropdeadGridView.Rows;
int count = dropdeadGridView.Rows.Count;
for (int i = 0; i < count; i++)
bool isChecked = ((CheckBox)rows[i].FindControl("chkBox")).Checked;
if(isChecked)
//Do what you want
【讨论】:
它没有填充文本框 我还在 OnCheckedChanged 事件上设置了断点,并且在检查时它不会中断。 我正要问 =) 仍然没有显示记录会不会是 selectedindexchanged 搞砸了? 在您的循环推荐中......它可以在一行中完成。每个都更容易使用。 foreach (GridViewRow gvr in GridView1.Rows) 而不是 var rows = dropdeadGridView.Rows; int count = dropdeadGridView.Rows.Count; for (int i = 0; i以上是关于将复选框列添加到 asp.net gridview的主要内容,如果未能解决你的问题,请参考以下文章
ASP:带有分页的 Gridview 复选框列未显示选中了哪个复选框
当用户在 GridView ASP.NET 中选择一行时如何自动选择相同 ID 的其他行
使用 JQuery 在 GridView ASP.NET 中选择所有复选框