Я пытаюсь изменить несколько столбцов на основе выбора пользователя, динамически удаляя некоторые столбцы в массиве. Однако после повторного заполнения сетки кажется, что существующие столбцы уже есть, и поэтому я получаю сообщение об ошибке при получении данных. Я получаю сообщение об ошибке, что столбец (ExternalClientId1) не существует. Как я могу это реализовать?
loadgrid(fromDate,toDate, responseType, xRequests)
//Instantiate Grid
var loadGrid = function (fromDate = null, toDate = null,responseType = null, requestType = null) {
$.ajax({
url: "/Home/SearchResults",
dataType: 'json',
beforeSend: function () {
$("jqxgrid").html('');
},
error: function (json, textStatus, errorThrown) {
alert(' Error :' + errorThrown);
},
data: {
fromdate: fromDate,
toDate: toDate,
responseType: responseType,
requestType: requestType
},
success: function (response) {
// initailize grid
var gridData = response;
window.searchData = response.SearchResults;
var gridSource =
{
localdata: gridData,
datatype: 'json'
};
var gridDataAdapter = new $.jqx.dataAdapter(gridSource);
var externalClients = [
{ text: 'ID', datafield: 'ID', width: 100 },
{ text: 'Request Type', datafield: 'RequestType', width: 100 },
{ text: 'First Name', datafield: 'FirstName', width: 200},
{ text: 'Last Name', datafield: 'LastName', width: 200 },
{ text: 'ExternalClientId1', datafield: 'ExternalClientId1', width: 250 },
{ text: 'IntakeStatus', datafield: 'IntakeStatus', width: 100 },
{ text: 'RequestDate', datafield: 'RequestDate', width: 250 },
{ text: 'Message', datafield: 'Message', width: 150 }
];
var litigationcol = { text: 'Litigation', datafield: 'Litigation', width: 150 };
var sublitcol = { text: 'Litigation', datafield: 'SubLitigation', width: 150 };
if (requestType == "xRequests") {
externalClients.splice(4, 1);
externalClients.splice(4, 0, litigationcol);
externalClients.splice(5, 0, sublitcol);
}
$("#jqxgrid").jqxGrid(
{
width: 1150,
source: gridDataAdapter,
pageable: true,
autoheight: true,
columnsresize: true,
pagesize: 20,
selectionmode: 'singlecell',
columns: externalClients
});
}
}