Вот что я реализовал на данный момент:
- Я разместил элементы управления 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
Мобильная версия