Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
Вообщем нужно сделать вот что. Чтобы в каждой строки грида была ссылочка на другую страничку которая в качестве параметра принимает элемент из строки грида. Страничка при этом естественно перезагружать не должна. пробовал просто <a href="CustomerDetails.aspx?cid=<%# DataBinder.Eval(Container.DataItem, "EmployeeName") %>">...</a> не прокатывает. пишет что типа не может так. видимо потому что не серверный компонент. Но если делать его серверным, тогда страничка автоматически будет обновляться, что не нужно (ведь ей всего лишь нужно вызвать другую). Санкс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 12:14 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
А так? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 12:22 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
вообще если мало template column , как вам описали выше, то можно сделать и так, чтобы на щелчок мыши вызывалось popup окно клиентским скриптом. если нужно именно так, напишите - я покопаюсь в исходниках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 12:41 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
Monstru да именно оно и нужно, ибо окошко должно быть определенного размера (т.е. просто написасть target="_blank" не подойдет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 12:45 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
Все не то. Нужно чтобы при вызове попапа основное окно не перезагружалось (оптимизируем по скорости), следовательно нужно использовать не серверный контрол. Что надо использовать понятно. <a href у которого в ссылке будет стоять window.open() открывающий окошко. Непонятно как засунуть туда параметр из строки грида. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 13:13 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 13:47 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
в общем как я сделал по мотивам какого то примера 1. добавит в список колонок колонку с кнопкой select 2. visible=false у нее 3. все интересное в этой функции Private Sub dgrdListForums_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgrdListForums.ItemDataBound Dim itemType As ListItemType = e.Item.ItemType If ((itemType = ListItemType.Pager) Or _ (itemType = ListItemType.Header) Or _ (itemType = ListItemType.Footer)) Then Return Else Dim button As button = _ CType(e.Item.Cells(1).Controls(0), button) e.Item.Attributes("onmouseover") = _ "javascript:this.style.backgroundColor='#00C0C0';this.style.cursor='hand';" e.Item.Attributes("onmouseout") = _ "javascript:this.style.backgroundColor='';this.style.cursor='';" e.Item.Attributes("onclick") = _ Page.GetPostBackClientHyperlink(button, "") End If End Sub тут Dim button As button - получает кнопку select И e.Item.Attributes("onclick") = _ Page.GetPostBackClientHyperlink(button, "") к ряду datagrid на событие onclick подвещиваем клиентский обработчик кнопки select. в вашем случае можно написать e.Item.Attributes("onclick") = "javascript:showItem()" showItem - клиентская функция, ей параметром можно передать какое-нибудь зхачение из datagrid. его можно получить из datasource datagrid. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 13:47 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
дык точно также: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. //только с кавычками повнимательнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 13:49 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
Вы так пробовали? У меня не выходит - при попытке перейти из HTML в Design пишет - "Could not open in Design View. Quote values differently inside a '<% ... "value"... %>' block ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 13:50 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
dmitry_cmcВы так пробовали? У меня не выходит - при попытке перейти из HTML в Design пишет - "Could not open in Design View. Quote values differently inside a '<% ... "value"... %>' block Это я грил в ответ на сообщение Ustazz ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 13:51 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
если так пишет, значит путаница с кавычками произошла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 13:52 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
Действительно ругается :( Я не пользуюсь дизайнером, поэтому в нем не проверял. На вариант profil ничего не говорит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 13:58 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
когда пишите выражение <%# DataBinder.Eval(Container.DataItem, "Param")%>, то оно обязательно должно обрмляться одинарными кавычками то есть вместо <a href='webform.aspx/?param=<%# DataBinder.Eval(Container.DataItem, "Param")%>' попробуйте <a href='<%# "webform.aspx/?param=" & DataBinder.Eval(Container.DataItem, "Param")%>' -с серверными скобками <%# %> повнимательнее нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 14:00 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
profilесли так пишет, значит путаница с кавычками произошла Да, только не понятно как ее разрешить. Ваш вариант привлекательно выглядит. Единственно что - браузер говорит что на странице ошибки, а требуемая страничка открывается в том же окне а не в попап. Вообще я так подумал логично было бы строку запроса как нить в переменную javacript положить а потому уже в onclink ее доставать. Но я этого не могу сделать, т.к. не знаю javacript ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 14:02 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
monstrUкогда пишите выражение <%# DataBinder.Eval(Container.DataItem, "Param")%>, то оно обязательно должно обрмляться одинарными кавычками то есть вместо <a href='webform.aspx/?param=<%# DataBinder.Eval(Container.DataItem, "Param")%>' попробуйте <a href='<%# "webform.aspx/?param=" & DataBinder.Eval(Container.DataItem, "Param")%>' -с серверными скобками <%# %> повнимательнее нужно В если выражение внутри <%# %> само должно содержать одинарные скобки? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 14:11 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
dmitry_cmc monstrUкогда пишите выражение <%# DataBinder.Eval(Container.DataItem, "Param")%>, то оно обязательно должно обрмляться одинарными кавычками то есть вместо <a href='webform.aspx/?param=<%# DataBinder.Eval(Container.DataItem, "Param")%>' попробуйте <a href='<%# "webform.aspx/?param=" & DataBinder.Eval(Container.DataItem, "Param")%>' -с серверными скобками <%# %> повнимательнее нужно В если выражение внутри <%# %> само должно содержать одинарные скобки? :) да, что то тут и меня смущает :) щас попробую найти как нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 14:20 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
что бы было проще разобраться, windows.open(..) лучше вынести в отдельную функцию (да и страница весит меньше будет) Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 14:22 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
вот из моего проекта <asp:HyperLink id=hlTowns runat="server" EnableViewState="False" Text='<%# Container.DataItem("name_town") %>' Target="_blank" NavigateUrl='<%# "http://bk/info/service/weather/#" & DataBinder.Eval(Container, "DataItem.weather") %>'> </asp:HyperLink> то есть как я понимаю NavigateUrl это то что интересует ? причем советую оформлять через визуальный дизайнер databinding ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 14:25 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
см. картинку - надо примерно так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 14:29 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
profilчто бы было проще разобраться, windows.open(..) лучше вынести в отдельную функцию (да и страница весит меньше будет) Код: plaintext 1. 2. 3. но ведь так он сделает открытие окна пл щелчку на гиперсылке, а ему надо сделать открытие окна по щелчку на строке грида profilа на странице разместить javascript: Код: plaintext 1. 2. 3. 4. функция то что надо, ее и использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 14:33 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
вас по ошибочному путю повели. в итоге сделайте следующее Private Sub dgrdListForums_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgrdListForums.ItemDataBound Dim itemType As ListItemType = e.Item.ItemType If ((itemType = ListItemType.Pager) Or _ (itemType = ListItemType.Header) Or _ (itemType = ListItemType.Footer)) Then Return Else Dim drv As DataRowView = CType(e.Item.DataItem, DataRowView) e.Item.Attributes("onclick") = "javascript:OpenNewWnd('mypage.aspx?id_param" & dv("param") & ";'") End If End Sub это если вы в datasource использовали dataview - и на щелчок мыши на строке будет окрываться новое окнос параметрами строки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 14:39 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
monstrUно ведь так он сделает открытие окна пл щелчку на гиперсылке, а ему надо сделать открытие окна по щелчку на строке грида мне показалось постановка задачи была следующая: dmitry_cmcЧтобы в каждой строки грида была ссылочка на другую страничку которая в качестве параметра принимает элемент из строки грида. Страничка при этом естественно перезагружать не должна. ...ибо окошко должно быть определенного размера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 14:43 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
на самом деле это все вариации на тему идея решения проблемы присутствует, остальное дело техники и личного вкуса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 14:46 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
profil monstrUно ведь так он сделает открытие окна пл щелчку на гиперсылке, а ему надо сделать открытие окна по щелчку на строке грида мне показалось постановка задачи была следующая: dmitry_cmcЧтобы в каждой строки грида была ссылочка на другую страничку которая в качестве параметра принимает элемент из строки грида. Страничка при этом естественно перезагружать не должна. ...ибо окошко должно быть определенного размера действительно, я внимательностью никогда не отличался :) прошу прощения. но стало быть автор топика теперь все что ему было нужно,узнал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 14:46 |
|
||
|
onclick в строке Датагрида
|
|||
|---|---|---|---|
|
#18+
Всем большое спасибо! Проблема действительно решилась через функции. Лишнее напонимание таки заняться javascript-ом :) На всякий случай привожу конечное решение: 1) функцию на сайт: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 2) колонку в DataGrid-е Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 16:05 |
|
||
|
|

start [/forum/topic.php?all=1&fid=18&tid=1395073]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 331ms |

| 0 / 0 |
