aswathy.s.88 Ответов: 8

Как получить значение выбранной строки в gridview


Всем привет,

У меня есть gridview там я поместил некоторое связанное поле, а также добавил кнопку изображения в последний столбец сетки в качестве поля шаблона.

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

Я могу использовать сеанс или строку запроса для перенаправления, но как получить значения строк?

Я пробовал во многих отношениях, но я получаю ошибку нулевой ссылки.
Я не могу получить выбранную строку с помощью кнопки изображения.

Как я могу закодировать кнопку изображения, чтобы выбрать строку и получить ее значения?
Пожалуйста, помогите мне.
Заранее спасибо...

Dalek Dave

Отредактировано для удобства чтения, грамматики и синтаксиса.

8 Ответов

Рейтинг:
1

/randz

Попробуйте изучить это подробнее Статья MSDN[^].

В принципе, вам нужно получить индекс строки, в которой находится кнопка. Затем вы можете получить конкретную строку, используя этот индекс:

GridViewRow row = ContactsGridView.Rows[index];

Затем вы можете получить содержимое нужного столбца, например:

String s = row.Cells[2].Text;

Переменная s будет иметь значение третьей ячейки выбранной строки (где была нажата ваша кнопка) вашего gridview.

Есть пример по ссылке, которой я поделился.


Рейтинг:
1

S.M.Naresh

Привет, Друзья!

Вот способ получить значения каждой ячейки в строке сетки (в случае привязки данных из кода).
Рассмотрим в этом случае поле кнопки ('Select') и дадим ему имя команды Выбрать
Запись в событие Row_Command

if (e.CommandName == "select")
 { 
  //code here
}


Рейтинг:
0

sharmarun

перейдите к событию изменения выбора и напишите код ниже:
Событие изменения выбора

показатель инт=gridvview.свойства selectedIndex;
сессия["код"]=(GridView можно.строки[индекс].ячейки[0].текст).метод toString();

таким образом вы получаете все значения вашей ячейки из выбранной строки


aswathy.s.88

Спасибо за вашу помощь, но это не работает....

Ziee-M

решение sharmarun-это, если можно так выразиться, стандартный способ получить индекс вашей строки. Есть 2 информации, не ясные мысли. Этот код входит в событие OnSelectedIndexChanged. И вы должны добавить событие в разметке : &ЛТ;в ASP:GridView в идентификатор="сетке" атрибут runat="сервер" OnSelectedIndexChanged="yourSelectedIndexChangeEventName" autopostback элемента управления="истинной"/&ГТ;
AutoPostBack должен быть установлен в true, чтобы разрешить обратную запись при изменении выбранной строки.

Рейтинг:
0

Arun Jacob

Один из способов-добавить событие Click для этой кнопки изображения и получить строку как,

GridviewRow gvRow = (sender as ImageButton).NamingContainer as GridviewRow;


а затем получите доступ к DataKey или ID, который вы хотите передать.
PS: код не тестируется.

В качестве альтернативы вы можете использовать RowCommand.


Рейтинг:
0

senguptaamlan

Установите DataKeyNames представления сетки имени столбца (скажем, идентификатор из БД, который находится в результирующем наборе).

Теперь в обработчике событий SelectedIndexChanged запишем следующий код

int selectedIndex = GridView1.SelectedIndex;
string customID = (GridView1.DataKeys[selectedIndex]["pkCityId"]).ToString();
//now write Ur custom logic for creating the URL and redirecting to the
//new url


просто это не так ???:круто:

Для ясности имя моего Gridview-GridView1, а DataKeyNames (столбец, который фактически содержит значение ID) - pkCityID.


Рейтинг:
0

Toniyo Jackson

Установите commandArgument следующим образом

<asp:ImageButton ID="ibtnEdit"  runat="server" CommandArgument='<%# Container.DataItemIndex+1 %>' />

затем в событии gridview rowcommand
dim intRow as integer = CInt(e.CommandArgument)

затем, используя этот номер строки, вы можете получить значения строк
gridview.Rows(intRow).Cells (0).Text


Рейтинг:
0

raju melveetilpurayil

На изображении нажмите кнопку

GridViewRow selectedRow = ((ImageButton)sender).Parent.Parent as GridViewRow;
        ImageButton imageButton = (ImageButton)selectedRow.FindControl("imgBtn");
          if (imageButton != null)
          {
            //add your logic here
          }


usmanmirza191

Вот Это Да!!

Рейтинг:
0

sutirth

Запишите этот код в selected_index_changed функция defile datakey свойство gridview затем напишите ниже код:

Session["updaterec"] = GridView1.SelectedDataKey [0].ToString ();
Response.Redirect("your desire page");