У меня есть DataTable, который не будет фильтроваться с помощью RowFilter, я вернул его к основам, но все еще не получил результат, согласно документации Microsoft *1002*, это должно работать ...
Environment_Details = Таблица, в которой есть все записи
Item_Type_ID = Это не первичный ключ, это просто свойство строки (1 = приложение, 2 = сервер)
Parent_ID = дочерние: родительские отношения между полем Parent_ID и полем EI_ID (идентификатор элемента среды)
row = Текущая строка Environment_Details выполнена в отдельном коде, эта функция попадает только в строки сервера (Item_Type_ID = 2), поэтому никогда не будет случая, когда приложения вызывают этот метод.
Server_Check = Просто пройти через
public ActionResult Server_Details(bool Server_Check, DataRow row, DataTable Environment_Details)
{
var model = new
ProjectOffice.Models.Forms.ServiceCatalogue.Environment.Delete_Environment_Item_Model();
DataView Application_List = new DataView(Environment_Details);
Application_List.RowFilter = "Item_Type_ID = 1";
//Application_List.RowFilter = "Parent_ID = {0}", row["EI_ID"]; //Removed for simplicity
ViewBag.row = row;
ViewBag.Application_List = Application_List;
ViewBag.Environment_ID = row["Environment_ID"];
ViewBag.Server_Check = Server_Check;
return PartialView("~/Views/Forms/ServiceCatalogue/Server/Server_Details.cshtml", model);
}
По моему мнению, тогда:
@{
var Application_List = ViewBag.Application_List;
if (Application_List.Table.Rows.Count > 0)
{
bool check = false;
foreach (var App_List_Item in Application_List.Table.Rows)
{
@:<div class="panel-body">
Html.RenderAction("Application_Details", "Application", new { Application_Check = check, row = App_List_Item, Environment_ID = ViewBag.Environment_ID });
@:</div>
check = true;
}
}
}
Мои результаты просто возвращают полный набор данных, который включает в себя 2 сервера, однако он должен просто возвращать только приложения, а при применении второго фильтра он должен возвращать только те приложения, которые относятся к этому серверу (строке).
Некоторые поты:
Должен ли я использовать ViewData вместо ViewBag?
Я неправильно написал цикл for?
Неправильно ли значение rowFilter? (должно быть: "Item_Type_ID = {0}", 1)
Любая помощь приветствуется ...