Добавление столбца checkbox в asp.net gridview
у меня есть пара вопросов, когда речь идет о добавлении до gridview
на asp.net
и получаем несколько значений. Во-первых, я вижу, что все добавляют OnCheckedChanged="chkview_CheckedChanged"
их aspx
страница, но когда вы нажимаете на CheckBox
чтобы установить его действия, он не открывается OnCheckedChanged="chkview_CheckedChanged"
. Она открывается событие. То, что я пытаюсь сделать, это когда они выбирают 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
вместо. Любые идеи, как я могу добавить это и получить несколько строк, которые можно выбрать. Спасибо продвижение.
вот мое редактирование* публикация кода asp для
1 ответов
сначала вы должны установить атрибут autopostback в true:
<asp:CheckBox ID="SelectCheckBox" runat="server" AutoPostBack="true"
OnCheckedChanged="SelectCheckBox_OnCheckedChanged"/>
в вашем случае, SelectedIndexChanged
отправляется gridview. Для события checkbox вы должны использовать 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
}
}