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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GridView, AutogenerateColumns, выбор строки, Выбрать строку в GridView 
:(
    Опции темы
davandr
Дата 17.8.2009, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 25.10.2005
Где: Украина, Харьков

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



Всем привет. 
Необходимо в GridView с AutogenerateColumn = true выбрать запись щелчком по первой колонке. Выбрать - это значит на серверной стороне перхватить событие (SelectedIndexChange или Command или какое другое), в котором можно получить данные всех полей ваыбранной строки.

Возможно ли это сделать стандартными средствами ASP.NET?

Добавлять кнопки типа Select нельзя.

Это сообщение отредактировал(а) davandr - 17.8.2009, 17:49


--------------------
PM MAIL   Вверх
Bestoloch
Дата 17.8.2009, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Можно приделать событие к обычной ссылке
например: 
Код

<asp:LinkButton id="LinkButton1" 
           Text="Click Me" 
           OnClick="LinkButton_Click" 
           runat="server"/>

PM MAIL   Вверх
1stain
Дата 18.8.2009, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 30.7.2007
Где: Киев - Харьков

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



Добавить CommandField первым полем, скрыть его, на вторую колонку навесить джаваскриптом onclick, в котором вызывать клик на скрытой кнопке. Ниже реализовано с использованием JQuery.
Что такое JQuery смотреть здесь.

Код

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function() {
            $("table[id$=gridView1] tr")
                .each(function() {
                    $(this).find("td:eq(1)")
                        .bind("click",
                            function(event) {
                                $(event.target).parent().find("input[type='button'][value='Select']").click();
                            })
                });
        });
    </script>

    <style type="text/css">
        .hiddenFirstColumn
        {
            display: none;
        }
    </style>
</head>
<body>
    <form id="aspnetForm" runat="server">
    <div>
        <asp:GridView runat="server" ID="gridView1" AutoGenerateColumns="true" DataKeyNames="Id">
            <Columns>
                <asp:CommandField ButtonType="Button" ShowSelectButton="true" HeaderStyle-CssClass="hiddenFirstColumn"
                     ItemStyle-CssClass="hiddenFirstColumn" FooterStyle-CssClass="hiddenFirstColumn" />
            </Columns>
        </asp:GridView>
    </div>
    </form>
</body>
</html>




--------------------
Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein)
user posted image
PM MAIL   Вверх
davandr
Дата 18.8.2009, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 25.10.2005
Где: Украина, Харьков

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



1stain, спасибо.

Я сделал 2 варианта. 1-й Template поле LinkButton. 2-q с jQuery, но обрабатывал WebMethod на странице. Ваш вариант наиболее правильно реализует поставленную задачу.


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

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

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

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


 




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


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

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