Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как достучаться до динамически созданного checkbox-а?  (Прочитано 3257 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Okkkks
Помогающий

by
Offline Offline

« : 08-12-2010 12:04 » 

Ребята, подскажите, пожалуйста, как найти на странице динамически созданный чекбокс(находится в гридвью)?
Код:
 //создание чекбокса
                   CheckBox chb = new CheckBox();
                    chb.ID = "chbx";
                    container.Controls.Add(chb);

на форме не могу найти, потому что решила использовать Master Page, до того (пока была обычная веб-форма) всё прекрассно находилось...=((

вот так пытаюсь найти:
Код:
ContentPlaceHolder content = Master.FindControl("ContentPlaceHolder1") as ContentPlaceHolder;
 GridView grid = content.FindControl("gvCotegory") as GridView;
 CheckBox check = grid.Rows[0].FindControl("chbx") as CheckBox;

check  =  null              =(( хотя ContentPlaceHolder точно находит  и таблицу вроде тож (не равна null)

подскажите где я не права?..  Краснею

ЗЫ: C#, MVStudio 2010
« Последнее редактирование: 08-12-2010 12:06 от Okkkks » Записан
yudjin
Помогающий

ua
Offline Offline
Пол: Мужской

« Ответ #1 : 08-12-2010 13:29 » 

Что есть container ? экземпляр GridView?
Записан
Okkkks
Помогающий

by
Offline Offline

« Ответ #2 : 08-12-2010 13:36 » 

так добавляю(в тырнете примерчик взят):
Код:
        protected void AddChecker()
        {
            TemplateField check = new TemplateField();
            check.HeaderText = "Selection";
            check.ItemTemplate = new GridViewTemplate(DataControlRowType.DataRow, "Selection");
            check.HeaderTemplate = new GridViewTemplate(DataControlRowType.Header, "Selection");
            gvCotegory.Columns.Add(check);
        }

а вот это класс:
Код:
    public class GridViewTemplate : ITemplate
    {
        private DataControlRowType templateType;
        private string columnName;
       // public static bool cheng = false;

        public GridViewTemplate(DataControlRowType type, string colname)
        {
            templateType = type;
            columnName = colname;
        }

        public void InstantiateIn(Control container)
        {
            switch (templateType)
            {
                case DataControlRowType.Header:
                    Literal lc = new Literal();
                    lc.Text = columnName;
                    container.Controls.Add(lc);
                    break;
                case DataControlRowType.DataRow:
                    // Create the controls to put in a data row
                    // section and set their properties.
                    CheckBox chb = new CheckBox();
                    chb.ID = "chbx";
                    container.Controls.Add(chb);
                    break;
                default:
                    break;
            }
        }
    }
« Последнее редактирование: 08-12-2010 13:44 от Okkkks » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines