Как получить GridView для отображения выбранной строки с идентификатором вместо класса - PullRequest
0 голосов
/ 25 июня 2009

Я использую jQuery для кэширования ссылок на выбранную строку в очень большой таблице (более 500) записей, подобных этой:

$selectedItem = $('.GridSelectedItem', $table);

Эта таблица генерируется GridView с его набором SelectedRowStyle, который дает моей строке правильный класс CSS. Вместо этого я хотел бы использовать идентификатор в разметке, чтобы найти выбранную строку следующим образом:

$selectedItem = $('#GridSelectedItem');

Что значительно быстрее. У кого-нибудь есть подсказка, как мне сделать массаж GridView, чтобы сделать это для меня?

Ответы [ 2 ]

0 голосов
/ 15 июля 2009

Я думаю, что вам нужно захватить выбранную строку, когда происходит событие SelectedIndexChanged, а не находить его после слов. Что-то вроде:

 protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
 {
    this.HiddenField1.Value = this.GridView1.SelectedIndex.ToString();
 }

А затем, когда вы захотите его использовать, вы извлечете индекс строки из скрытого поля:

  function findSelectedRow() { 
       var hf = $("#<%= hfSelectedRow.ClientID %>");
       var table = $("#<%= GridView1.ClientID %>"); 
       var row = table[0].rows[hf.val()];
       // do something with the row.
       return false;
    }
0 голосов
/ 26 июня 2009

Я не думаю, что это возможно (возможно, это будет возможно с новым ClientIdMode в ASP.NET 4.0 ).

Пока что, возможно, вы могли бы использовать Repeater вместо GridView и визуализировать строку таблицы (включая ID) самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...