Привет, я добавил динамическое поле шаблона в gridview, реализовав интерфейс ITemplate. Поле шаблона содержит некоторые элементы управления, такие как ярлыки и текстовые поля. как я могу получить эти элементы управления в событии row databound.найти элемент управления с помощью идентификатора из динамически добавленного поля шаблона в GridView
Я не могу получить, когда я делаю gridviewrow.findcontrol («id»), как обычно, когда мы добавляем шаблон с страницы aspx.
Путь я добавил поле шаблона, как это
public class CustomGridViewColumn : ITemplate { ListItemType _liType; string _columnName;
public CustomGridViewColumn(ListItemType type, string column)
{
_liType = type;
_columnName = column;
}
void ITemplate.InstantiateIn(System.Web.UI.Control container)
{
switch (_liType)
{
case ListItemType.Header:
Label lblHeader = new Label();
lblHeader.Text = _columnName;
container.Controls.Add(lblHeader);
break;
case ListItemType.Item:
Label lblItem = new Label();
lblItem.DataBinding += new EventHandler(lbl_DataBinding);
lblItem.ID = "lbl" + _columnName;
lblItem.ClientIDMode = ClientIDMode.Predictable;
container.Controls.Add(lblItem);
DropDownList ddl = new DropDownList();
ddl.DataBinding += new EventHandler(ddl_DataBinding);
ddl.ID = "ddl" + _columnName;
ddl.Visible = false;
container.Controls.Add(ddl);
break;
}
}
}
Теперь я хочу получить доступ к этикетке и выпадающий список, который я добавил, используя этот код. когда я делаю gridviewrow.findcontrol ("id"), я не получаю их. Может кто-нибудь, пожалуйста, помогите мне.
Я geeting, когда я иду через все строки и попытаться найти, но у меня есть флажок в строке, когда я выбираю его все метки должны diappear и DDLS dhould появляются для этого я использую происходит некорректно код.
protected void chkEdit_CheckedChanged(object sender, EventArgs e) { CheckBox chkEditTest = (CheckBox)sender; GridViewRow grow = (GridViewRow)chkEditTest.NamingContainer; DropDownList ddl = (DropDownList)grow.FindControl("ddl"); Label lbl= (Label)grow.FindControl("lbl"); }
, когда я делаю это я не в состоянии получить контроль. похоже контролей disapppearing на постбэка ..
Это прекрасно работает. Но то, что я наблюдал при отладке, - это когда после обратной связи происходит потеря элементов управления шаблоном. Могу ли у вас взглянуть на мои изменения в сообщении. – siri