Я пытаюсь сделать обычай BoundField
(столбец) для моего заказа GridView
. Я добавил текстовые поля в FooterRow
для управления фильтрацией по столбцам. Он хорошо отображен, но событие TextChanged
никогда не поднимается. Я думаю, это потому, что текстовые поля воссозданы при каждой обратной передаче и не сохраняются.Событие с TextChanged в динамически создаваемом текстовом поле в пользовательском BoundField никогда не срабатывает?
Вот мой код:
public class Column : BoundField
{
public override void InitializeCell(DataControlFieldCell cell, DataControlCellType cellType, DataControlRowState rowState, int rowIndex)
{
base.InitializeCell(cell, cellType, rowState, rowIndex);
if (cellType == DataControlCellType.Footer)
{
TextBox txtFilter = new TextBox();
txtFilter.ID = Guid.NewGuid().ToString();
txtFilter.Text = "";
txtFilter.AutoPostBack = true;
txtFilter.TextChanged += new EventHandler(txtFilter_TextChanged);
cell.Controls.Add(txtFilter);
}
}
protected void txtFilter_TextChanged(object sender, EventArgs e)
{
// Never get here
}
}
Я попытался с флажком, и это сработало.
это winforms или asp.net? –
Нет, это ASP.NET –
вы можете оставить свой собственный ответ - и отметьте его как принятый – MikroDel