powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / GridView
11 сообщений из 11, страница 1 из 1
GridView
    #33855624
super_lexa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Вчера разбирался с компонентом GreedView. Была проблема:  Два контрола. На одном контроле находится DataGrid (заменил на GreedView) необходимо для каждой записи грида хранить в скрытом поле  id записи из базы. Как это лучше сделать? Заранее спасибо.
Спасибо "Dimon aka Manowar" за помощь использовать "DataKeyNames".
Прочитал в статье (http://www.aspnetmania.com/Articles/Article/68.html)описание элемента GreedView. Но как выяснить на какой записи произошола активация мышкой и как считать  значение DataKeyNames там не описано.
Подскажите как это сделать.  
...
Рейтинг: 0 / 0
GridView
    #33855826
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что значит "активация мышкой"? Клик на какой-то кнопке? Тогда например так так - у кнопки устанавливаем CommandName в какое-нить значене и CommandArgument - в значение индекса строки

<asp:LinkButton runat="server" CommandName="MyAction" CommandArgument='<%# Container.Row.RowIndex %>'
и в обработчике RowCommand пишем
if(e.CommandName == "MyAction")
  int key = (int) GridView1.DataKeys[Int32.Parse(e.CommandArgument)]["ID"];

ессно предполагая, что у гридвью было установлено DataKeyNames="ID,..."
Вроде так.

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
GridView
    #33857767
super_lexa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, имелось в виду что при нажатии на кнопку.
Но событие RowCommand возникает при нажатии на простой кнопке. Если кнопка графическая то это событие не срабатывает. Как можно выйти из ситуации?
...
Рейтинг: 0 / 0
GridView
    #33858256
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CommandName не забыл указать?

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
GridView
    #33858427
super_lexa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот обьявление этой кнопки
<asp:TemplateField>
   <ItemStyle HorizontalAlign="Center" Width="10px" />
   <ItemTemplate> 
       <asp:ImageButton ID="ibAddressEdit" runat="server"    CommandName="ActionImgButton" CommandArgument='<%# Bind("IDrecord") %>' ImageUrl="~/MyImages/Icons/edit.gif" />                                       
                                    </ItemTemplate>
                                </asp:TemplateField>
...
Рейтинг: 0 / 0
GridView
    #33859112
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм... и че, постбек происходит, но событие не срабатывает? Неужели эторт баг перекочевал в ASP.NET 2?
А попробуй положить линкбатон на форму и проверить опять

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
GridView
    #33859199
super_lexa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При использовании линкбатона событие RowCommand срабатывает, но ситуация такая что мне нужно работать с имеджбатонами :-(. А есть другие пути для того что бы впоймать ID выбранной записи?
...
Рейтинг: 0 / 0
GridView
    #33859408
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не, ты не понял. Используй имжбатоны, но на форму где-то положи линкбатон. Так будет имажбатон работать?

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
GridView
    #33860073
super_lexa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делал по разному, вот последний вариант:
<ItemTemplate> 
   <asp:ImageButton ID="ibAddressEdit" runat="server"   CommandName="ActionImgButton" CommandArgument='<%# Bind("IDrecord") %>'   ImageUrl="~/MyImages/Icons/edit.gif" />                                        
   <asp:LinkButton ID="Garbage" runat="server"  CommandName="ActionImgButton" CommandArgument='<%# Bind("IDrecord") %>'/>                                                                           </ItemTemplate>
Но всё равно работать не хочет :-(
...
Рейтинг: 0 / 0
GridView
    #33860812
super_lexa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли обьявив для ImageButton событие OnClick="ibAddressEdit_Click" в обработчике этого события как то вытащить IDrecord записи?
...
Рейтинг: 0 / 0
GridView
    #33861567
super_lexa1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё оказалось как нельзя проще: 
В определении GridView
   DataKeyNames="IDrecord"              
Непосредственно в кнопке обьявляем обработчик события OnClick="ibAddressEdit_Click" и заполняем CommandArgument
Далее в обработчике события пишим:

  protected void ibAddressEdit_Click(object sender, ImageClickEventArgs e)
    {
        IDrecord = Int32.Parse(((ImageButton)sender).CommandArgument);
    }

Спасибо Dimon aka Manowar за участие в обсуждении :-) 
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / GridView
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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