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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получение значения выбранного поля в GridView 
:(
    Опции темы
simich
Дата 17.8.2010, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем привет! Скажите пожалуйста!   у меня есть GridView с отображением информации. Имена столбцов - ID(невидимый), Name, Sername, и др. 
В TemplateField я поместил ButtonEdit (то есть в каждой строке у меня есть эта кнопка), при нажатии на которую открывается окошко с редактированием информации. Вопрос в следующем - как мне узнать значение поля ID, которое выбрал пользователь?
PM MAIL   Вверх
cupper
Дата 18.8.2010, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



делай так
при объявлении грида
Код

<asp:GridView ID="gvCandidate" runat="server" AutoGenerateColumns="False" 
                        DataKeyNames="ID" ... />

где ID - это название колонки из таблицы
В коде
для того чтобы определить ID при редактировании (и прочем)
Код

int id = Convert.ToInt32(gvInterview.DataKeys[e.RowIndex].Value);


Также в это DataKeyNames через запятую можно поместить столько полей таблицы сколько захочеться
тогда обращение к ним выглядит так
Код

int id = (int)gvInterview.DataKeys[e.RowIndex].Values["ID"];

Так правильно делать, как ты делаешь не правильно.
Но уж коли прям ломает уж как хочеться сделать по твоему то если поле объявлено через TemplateField
Код

string notes = ((TextBox)row.FindControl("tbxIVEditNotes")).Text.Trim();

сооветственно нужно заменить TextBox на тот элемент которые там есть и в FindControl указать ID этого контрола

Если сделано без TemplateField (именно то поле которое нужно получить) то так
Код

GridViewRow row = GridView1.Rows[e.RowIndex];
string std = (TextBox)row.Cells[0].Controls[0]).Text.ToString()

где Cell номер колонки начиная от 0, в случае если ID первая то Cells = 0, а Controls - я хз что такое smile пиши там 0 и все будет работать.
Что то я на счет последнего листинга сомневаюсь, кажеться я там чтото напутал, но суть в том что так не правильно делать smile

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

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

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

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


 




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


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

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