Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataGrid & JavaScript 
:(
    Опции темы
cosamia
Дата 8.3.2006, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 11.5.2005

Репутация: нет
Всего: нет



Есть на датагриде несколько кнопок, хочу к одной из них привязать ф-ю на javascript - confirm. Но при привязке через атрибут функции на onclick получится что ф-я будет вызываться на все кнопки грида. Каким образом это можно избежать?
PM   Вверх
arilou
Дата 9.3.2006, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



cosamia, судя по тому, что до сих пор не было ответов, вопроса никто не понял. Перефразируй пожалуйста.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Exception
Дата 9.3.2006, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 9
Всего: 186



Погоди-ка. Ты о датагриде для web? О каких кнопках идет речь? И неплохо бы все это подкрепить примером smile
PM   Вверх
arilou
Дата 9.3.2006, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



Цитата(Exception @ 9.3.2006, 19:41 Найти цитируемый пост)
Ты о датагриде для web?

Вниииимательнее читаем название форума -
Цитата

Форум программистов -> Программирование -> .NET -> Разработка под ASP.NET
smile


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
cosamia
Дата 9.3.2006, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 11.5.2005

Репутация: нет
Всего: нет



речь о вебе, потому тема находится в асп.нет

вот мой грид:
Код

<Columns>
<asp:BoundColumn DataField="f1" " />
<asp:ButtonColumn ButtonType="LinkButton" Text="<IMG src='Images/delete_row.gif'   border='0'>"
CommandName="cmd1" />

<asp:ButtonColumn ButtonType="LinkButton" Text="<IMG src='Images/delete_row.gif'   border='0'>"
CommandName="cmd2" />
</Columns>


как видно в гриде 2 ряда кнопок. на каждую надо навесить свою ф-ю из JS а потом передать управление уже непосредственно обработчику OnItemCommand

пробовал через datagrid1.attribute.add("onclick", "..."
но это крепиться на все кнопки...а мне надо на кнопки первого ряда 1 ф-ю, а на кнопки 2-го другую
PM   Вверх
arilou
Дата 9.3.2006, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



cosamia,

1) прицепляемся к событию DataGrid.ItemCreated.
2) Вызываем e.Item.FindControl("cmd1").Attributes.Add("onclick", "func1();")
3) Вызываем e.Item.FindControl("cmd2").Attributes.Add("onclick", "func2();")

И будет тебе счастье smile

Это сообщение отредактировал(а) arilou - 9.3.2006, 20:05


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
cosamia
Дата 10.3.2006, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 11.5.2005

Репутация: нет
Всего: нет



сделал так:

Private Sub SomeDataGrid_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles SomeDataGrid.ItemCreated
Select Case e.Item.ItemType
Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem
Dim myTableCell As TableCell
myTableCell = e.Item.Cells(3) 'номер столбца
Dim myDeleteButton As LinkButton
myDeleteButton = myTableCell.Controls(0)
myDeleteButton.Attributes.Add("onclick", "func1();")
End Select
End Sub

такой вариант работает но тут непонятная проблема:
у меня первым столбцом грида идет тектовое значение, вторым кнопка.
по нажатию я хочу передать в javascript значение из 1 столбца этой строки
В SomeDataGrid_ItemCreated делаю так:
Dim param1 As String = e.Item.Cells(0).Text

далее начинается непонятное: значение пустое. Более того если положу на форму label c тесктом лабел1 (т.е. как оно идет по умолчанию) и попытаюсь присвоить ей значение из param1
то еще до нажатия на кнопку label пустой.

В тоже время в OnItemComman
Dim param1 As String = e.Item.Cells(0).Text
определяется правильно...

В чем тут проблема?
PM   Вверх
arilou
Дата 10.3.2006, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



cosamia, опять лень было код отформатировать?

Цитата(cosamia @ 10.3.2006, 18:28 Найти цитируемый пост)
В чем тут проблема

Надо использовать метод FindControl.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
cosamia
Дата 10.3.2006, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 11.5.2005

Репутация: нет
Всего: нет



в каком месте и для кого использовать? можно поконкретнее плиз?
PM   Вверх
arilou
Дата 10.3.2006, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



Цитата(cosamia @ 10.3.2006, 18:46 Найти цитируемый пост)
в каком месте и для кого использовать?

Метод используется для поиска вложенных контролов по имени. Посмотри MSDN и, думаю, все станет ясно.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0767 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.