powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / А как можно методом FindControl найти Control...
26 сообщений из 26, показаны все 2 страниц
А как можно методом FindControl найти Control...
    #32940802
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!!!

Хочу в DataGrid найти Сontrol при попадание в режим редактирования события EditCommand
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub grdCourses_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles grdCourses.EditCommand
        grdCourses.EditItemIndex = e.Item.ItemIndex
        Dim lstEditCourseA As DropDownList = CType(e.Item.FindControl("lstEditCourse"), DropDownList)
        Dim lstEditValA As DropDownList = CType(e.Item.FindControl("lstEditVal"), DropDownList)
        Dim txtSell As TextBox = CType(e.Item.FindControl("txtSell"), TextBox)
        Dim txtBuy As TextBox = CType(e.Item.FindControl("txtBuy"), TextBox)
        lstEditCourseA.DataBind()
        lstEditValA.DataBind()

        BindData()
    End Sub

Control`ы находятся в EditItemTamplate
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32940941
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
приведенный выше код ничего ненаходит....

Неужели никто незнает
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941176
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
        private void dgEditor_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.EditItem)
            {
                // ищем и устанавливаем для редактирования верные значения в ниспадающих списках
                // для дней
                DataRowView drv = (DataRowView) e.Item.DataItem;
                string state = drv["req_state"].ToString();
                if (state.Trim() != "0")
                {
                    DropDownList ddl = (DropDownList) e.Item.Cells[ 4 ].Controls[ 1 ];
                    ddl.SelectedValue = state;
                }
            }
        }

можно и через FindControl, а не так - e.Item.Cells[4].Controls[1];
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941191
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это на c# естественно, я думаю на vb.net всё примерно также должно выглядеть.
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941206
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через FindControl - значение (Nothing)
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941212
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в том то и дело, что ненаходит Control в Datagrid
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941253
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ненаходит DropDownList в EditItemTamplate методом
Код: plaintext
e.Item.FindControl("lstEditOper")=Nothing
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941342
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и не найдет,
у тебя на момент обработки события работает ItemTemplate,
а контролы сидят в EditItemTemplate
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941365
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так а как их выдернуть то оттуда
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941384
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В обработчике данного события - никак
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941388
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда как быть?
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941443
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К примеру в Page_Load проверяй grdCourses.EditItemIndex,
если он не -1, то грид грузится в режиме редактирования,
получай DataGridItem по этому индексу и ищи в нем
свои контролы
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941746
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
Private Sub grdCourses_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles grdCourses.EditCommand
        grdCourses.EditItemIndex = e.Item.ItemIndex
        Dim DataItemA As DataGridItem = grdCourses.Items(grdCourses.EditItemIndex)
        Dim lstOper As DropDownList = CType(DataItemA.FindControl("lstEditOper"), DropDownList)
        BindData()
    End Sub
Все равно ненаходит или может я что то не так делаю?
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941812
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да Page_Load раньше отработает, но все равно в SelectCommand мы в Item'е имеем содержимое ItemTemplat'a, а не EditItemTemplat'a и контролов из него нет, что сделать то с ними нужно?
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941818
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, не в SelectСommand, а в EditCommand
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941820
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо загрузить список рпераций и поставить нужную по умолчанию
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941868
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ItemDataBound до них можно добраться

вот пример
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941889
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В моём примере как раз ItemDataBound и используется, если кто код вообще смотрел :)
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941897
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что то я никак в толк не возьму, плохо понимаю по C#
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941936
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что то и первый пример и второй у меня не работают, может Васик этого не может?
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32941942
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 hDrummer

Блин, абсолютно верный вариант :)), конец дня - от кода
всякого в разных окнах в глазах рябит :))
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32942142
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, простите был крайне не внимателен, забыл про ListItemType.EditItem, все вроде получилось, но данные что то не биндятся
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Private Sub grdCourses_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles grdCourses.EditCommand
        grdCourses.EditItemIndex = e.Item.ItemIndex
        If e.Item.ItemType = ListItemType.EditItem Then
            Dim x As DataRowView = e.Item.DataItem
            Dim lstEditOperA As DropDownList = CType(e.Item.FindControl("lstEditOper"), DropDownList)
            Dim lstEditValA As DropDownList = CType(e.Item.FindControl("lstEditVal"), DropDownList)
            lstEditOperA.DataBind()
            lstEditValA.DataBind()
        End If
        BindData()
    End Sub
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32942146
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пустые контролы
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32942801
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот это
e.Item.FindControl("lstEditVal")
надо заменить на
e.Item.Cells[4].Controls[1];
и будет счастье.

Циферки только другие.
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32942953
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ё моё!!!

Ну сколько автору вопроса повторять, что в в момент события EditCommand
этих контролов НЕ СУЩЕСТВУЕТ , их нужно заполнять в обработчике
ItemDataBound
...
Рейтинг: 0 / 0
А как можно методом FindControl найти Control...
    #32942993
Фотография Mormudon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да все все решил, огромное спасибо за помощь!!!!
Все работает и стреляет
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / А как можно методом FindControl найти Control...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]