Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Получить объект контрола на GridView

400
22 сентября 2008 года
ArtemS2006
272 / / 12.01.2008
Здравствуйте!
У меня на форме есть GridView, в котором для всех колонок настроены шаблоны. Мне необходимо получить объект контрола для шаблона редактирования (EditItemTemplate).
Код:


 
Код:
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) //процедура редактирования записи
{
GridViewRow viewrow = RightsGridView.Rows[e.NewEditIndex];
TableCell cell = viewrow.Cells[0];
for (int i = 0; i < cell.Controls.Count; i++)
{
String s = viewrow.Controls.ID; //получить идентификатор контрола
}


В данном коде в строку s возвращаются только идентификаторы контролов, расположенные на шаблоне просмотра (ItemTemplate). Не могу понять, что нужно сделать для получения контролов с других темплэйтов.
400
22 сентября 2008 года
ArtemS2006
272 / / 12.01.2008
Поэксперементировав, я понял, что в приведенном примере в строке s возвращаются контролы из ItemTemplate, потому что при возникновении события Editing у GridView в редактироемой строке почему то всё еще отображается шаблон ItemTemplate (глюкофича аспдотнета?). Например если тот же код повесить на событие Updating, то в s будут нужные мне контролы. Проблемма только в том, что мне нужно изменить определенным образом содержимое EditItemTemplate еще До того как пользователь получит возможность редактировать строку.
400
22 сентября 2008 года
ArtemS2006
272 / / 12.01.2008
вот рабочий код. может кому пригодится...

Код:
protected void RightsGridView_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if ((RightsGridView.EditIndex > -1))
        {
            GridViewRow row = e.Row;
            if ((row.RowState & DataControlRowState.Edit)!=0)
            {
//получить нужные контролы
                Label CollectionLabel = (Label)row.FindControl("CollectionLabel");

                DropDownList ReadLevelDropDownList = (DropDownList)row.FindControl("ReadLevelDropDownList");
                DropDownList OrderLevelDropDownList = (DropDownList)row.FindControl("OrderLevelDropDownList");
                CheckBox PrintRightCheckBox = (CheckBox)row.FindControl("PrintRightCheckBox");
                CheckBox DownloadRightCheckBox = (CheckBox)row.FindControl("DownloadRightCheckBox");

                RestrictRightsEdit(
                    ReadLevelDropDownList,
                    OrderLevelDropDownList,
                    PrintRightCheckBox,
                    DownloadRightCheckBox
                );
            }
        }
    }
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог