prateikshukla Ответов: 1

Конфликты подкачки страниц во вложенной webgrid в ASP.NET MVC


I am trying to populate A subgrid in a webgrid that is a nested webgrids. I am getting conflict in paging of the subgrids. When i select page 2 of a subgrid all the other subgrids in the webgrid changes to page 2 that is incorrect. only that subgrids should be affected for which is clicked paged 2. can anyone guide me through this ?


Что я уже пробовал:

@сетка.GetHtml(htmlAttributes: новый { идентификатор = "grdSSI" }, tableStyle: "webGrid", displayHeader: правда,
headerStyle: "заголовок",
alternatingRowStyle: "alt",
selectedRowStyle: "выбрать",

столбцы:
сетка.Столбцы(
сетка.Столбец ("SSIGroupName", @HomeResource.SSIGridGroupName, формат: item = & gt; Html. Raw("" + (пункт.SSIGroupName).Метод toString() + ""), стиль: "POAGridMarketName"),
сетка.Колонка ("SegAccountRequired", @HomeResource.SSIGridSegregateAccountRequired),
сетка.Колонка ("FXRequired", @HomeResource.SSIGridFXRequired),
сетка.Колонка ("StatusDesc", @HomeResource.GridStatus),
//сетка.Столбец ("","", формат: (item) = & gt; Html.ActionLink ("Delete", "DeleteSSI", new { ssiID = item.SSIID, customerName = модель.CustomerName, accountNumber = модель.AccountNumber, asOfDate = модель.AsOfDate }, new { @class = " deleteImg DeleteSSI" })),
сетка.Столбец (" " , "удалить", формат: (item) =>
{
var colorStyle = "";
если (пункт.IsPending = = true)
{
colorStyle = " желтый";
}
ещё
{
colorStyle = " белый";
}

ВАР disableStyle = "";
если (пункт.Состояния == "НМА" || позиция.Состояния == "НСД" || позиция.StatusCode == "RA" / / item.StatusCode = = " DR")
{
disableStyle = " showDelete";
}
ещё
{
disableStyle = "";
}
верните Html.ActionLink ("Delete", "DeleteSSI", new { ssiID = item.SSIID, groupName = модель.Имя группы, имя пользователя = модель.CustomerName, accountNumber = модель.AccountNumber, asOfDate = модель.AsOfDate } новые { @класс = "DeleteSSI deleteImg" + цветастиль + "" + disableStyle, заголовок = "удалить" });
}),
сетка.Столбец (" " , "Recover", формат: (item) =>
{
ВАР disableStyle = "";
если (пункт.Состояния == "да" || позиция.StatusCode == "RR")
{
disableStyle = " showRecover";
}
ещё
{
disableStyle = "";
}

верните Html.ActionLink ("Recover", "RecoverSSI", new { ssiID = item.SSIID, groupName = модель.Имя группы, имя пользователя = модель.CustomerName, accountNumber = модель.AccountNumber, asOfDate = модель.AsOfDate }, new { @class = "recoverImg RecoverSSI" + disableStyle, title = " Recover" });
}),

сетка.Столбец (формат: (item) =>
{
Webgrid subGrid = new WebGrid(источник: item.SSISecurityCashAccountMapping, canSort: false);
return subGrid. GetHtml(htmlAttributes: new { id = "grdSSIAccounts" + item.SSIID }, tableStyle: "webGrid", displayHeader: true,
headerStyle: "заголовок",
столбцы вложенной сетке.Столбцы(
подсеть.Колонка ("AccountNumber", @HomeResource.SSIGridAccountNumber),
подсеть.Колонка ("DepositoryCode", @HomeResource.SSIGridDepository),
подсеть.Колонка ("SubCustodianName", @HomeResource.SSIGridSubCustodian),
подсеть.Колонка ("SecurityAccountNumber", @HomeResource.SSIGridSecurityAccount),
подсеть.Колонка ("CashAccountNumber", @HomeResource.SSIGridCashAccount)));
})
))

1 Ответов

Рейтинг:
12

Richard Deeming

Попробуйте дать подсетке a FieldNamePrefix[^]:

WebGrid subGrid = new WebGrid(source: item.SSISecurityCashAccountMapping, canSort: false, fieldNamePrefix: item.SSIID);


prateikshukla

Привет @Richard, я реализовал ваше решение теперь его бросание ниже ошибки :
Лучшие перегруженный метод матч за 'систему.Веб.Помощники.WebGrid.WebGrid(System.Коллекции.Общий.IEnumerable & lt;object>, System.Коллекции.Общий.Интерфейс IEnumerable в<строка&ГТ;, строка, int и bool значение, логическое значение, строка, строка, строка, строка, строка, строка, строка)' имеет некоторые недопустимые аргументы

prateikshukla

Эй я получил решение я просто должен был дать ему строковое значение большое спасибо