Поле поиска в GridView ASP.NETC#

Место общения программистов C#
Ответить
Anonymous
 Поле поиска в GridView ASP.NET

Сообщение Anonymous »

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

Вот что я реализовал на данный момент:

  • Я разместил элементы управления TextBox внутри шаблона заголовка сетки для каждого столбца.
  • Я обрабатываю операцию поиска с использованием события OnTextChanged в файле ASPX.CS, а также пробовал использовать JavaScript в файле ASPX.

Проблема:

Поля поиска отображаются в сетке, но я не могу в них вводить. Кажется, их нельзя редактировать, и я не понимаю, почему поля ввода не работают должным образом.
$(document).ready(function () {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

function EndRequestHandler(sender, args) {
var rows1 = $('table# tr:last').index() + 1;

if (rows1 > 1) {
// Initialize DataTable with column-based search functionality
var table = $("#").DataTable({
stateSave: true,
pagingType: "full_numbers",
lengthMenu: [[10, 25, 50, -1], [10, 25, 50, "All"]],
dom: 'rt',
buttons: [
{ extend: 'copy', className: 'btn-sm btn-default' },
{ extend: 'excel', className: 'btn-sm btn-success', filename: function () { return getExportFileName(); } },
{ extend: 'print', className: 'btn-sm btn-danger' }
],
responsive: false,
retrieve: false,
ordering: false,
});

// Apply search on each column
$("# thead input.search-column").on('keyup change', function () {
var colIndex = $(this).closest('th').index(); // Get the index of the column
table.column(colIndex).search(this.value).draw(); // Perform search
});
}
}

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function (evt, args) {
var rows1 = $('table# tr:last').index() + 1;

if (rows1 > 1) {
var table = $("#").DataTable({
stateSave: true,
pagingType: "full_numbers",
lengthMenu: [[10, 25, 50, -1], [10, 25, 50, "All"]],
dom: 'rt',
buttons: [
{ extend: 'copy', className: 'btn-sm btn-default' },
{ extend: 'excel', className: 'btn-sm btn-success', filename: function () { return getExportFileName(); } },
{ extend: 'print', className: 'btn-sm btn-danger' }
],
responsive: false,
retrieve: false,
ordering: false,
});

// Apply search on each column on initial load
$("# thead input.search-column").on('keyup change', function () {
var colIndex = $(this).closest('th').index();
table.column(colIndex).search(this.value).draw();
});
}
});
});


Подробнее здесь: https://stackoverflow.com/questions/790 ... ew-asp-net
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»