#jqgrid
#jqgrid
Вопрос:
Я столкнулся с проблемой в Jqgrid. У меня есть столбец с гиперссылкой, и при нажатии на эту гиперссылку мне нужны данные строки. Возможно ли это с помощью Jqgrid? когда я использую «getGridParam», я получаю идентификатор строки как null.
Ответ №1:
Здесь вы можете попробовать две возможности:
1) Вы можете использовать пользовательский форматировщик для создания гиперссылки и иметь пользовательский атрибут для ссылки, в которую вы вводите идентификатор строки (префикс имени пользовательского атрибута с ‘data-‘, чтобы он был совместим с html5). В качестве альтернативы вы можете вызвать функцию javascript, явно передающую идентификатор строки.
2) Вместо самого события гиперссылки попробуйте использовать событие onCellSelect в jqGrid, где вы получаете идентификатор строки и столбца выбранной ячейки, даже если это гиперссылка. Но это вызовет событие, даже если пользователь щелкнет в любом месте ячейки, а не только по ссылке !.
Комментарии:
1. Я пробовал это, но это не работает. Можете ли вы предложить пример кода.
2. конечно, я постараюсь извлечь обобщенную реализацию к завтрашнему дню.
3. PS: Можете ли вы добавить код о том, как вы создаете гиперссылку? Используете ли вы пользовательский форматировщик или какой-либо другой подход?
Ответ №2:
Я уверен, что вы уже нашли ответ на этот вопрос, но для некоторых из вас, использующих ASP.NET Веб-форма вот что я использовал.
Создайте пользовательский форматировщик и добавьте его в столбец, в котором вы хотите, чтобы отображалась ссылка: мои столбцы взяты из базы данных, поэтому я использую оператор Select:
switch (jqGrdCol.DataField)
{
case "xxx":
CustomFormatter hypLinkxxx = new CustomFormatter();
hypLinkxxx.FormatFunction = "xxxformatOperations"; --> **JavaScript Function**
jqGrdCol.Formatter.Add(hypLinkxxx);
break;
}
Затем в функции Javascript:
function xxxformatOperations(cellvalue, options, rowObject) {
return "<a href=somefile.aspx?xxx=" rowObject[0] >" cellvalue "</font></a>"
}
Я получаю значение столбца в виде гиперссылки.
Ответ №3:
У меня была похожая проблема, и я изучил ваш вопрос, чтобы найти решение, и я нашел решение для этого.
Решение заключается в использовании onCellSelect: function(rowid, index, contents, event)
это дает идентификатор строки и содержимое, т.Е. Содержимое ячейки, которую вы щелкнули или выбрали, поэтому вы можете получить всю строку содержимого, которая также включает вашу гиперссылку