剣道グリッドで 1 つの問題に直面しています。
エディター テンプレートの使用に基づいて読み込まれる 1 つのドロップダウンがありViewData["abc"]
、到着日と出発日などの 2 つのフィールドもある剣道グリッドがあります。
私の問題は、到着日と出発日に基づいてドロップダウンをロードしたいということです。この場合、すべてのドロップダウンに異なる値があります。どうすればこれを達成できますか?
サンプルコードは次のとおりです。
コントローラ:
public ActionResult ManageRequests()
{
try
{
var result = _partialControlService.PopulateDropdowns();
PopulateDropdowns(result);
}
return View();
}
public void PopulateDropdowns(Model.ManageRequestDropdowns model)
{
if (ViewData["hotels"] != null)
{
List<ClientHotelViewModel> objhotel = new List<ClientHotelViewModel>();
objhotel = model.Hotels
.Select(e => new ClientHotelViewModel
{
HotelIDPK = e.HotelIDPK,
HotelName = e.HotelName
}).OrderBy(e => e.HotelName).ToList<ClientHotelViewModel>();
if (objhotel != null && objhotel.Count() > 0)
objClientHotelViewModel.AddRange(objhotel);
ViewData["hotels"] = objClientHotelViewModel.OrderBy(x => x.HotelIDPK);
}
}
エディター テンプレート:
@(Html.Kendo().DropDownList()
.Name("Hotel")
.DataValueField("HotelIDPK")
.DataTextField("HotelName")
.BindTo((System.Collections.IEnumerable)ViewData["hotels"])
)
ManageHotel.cshtml:
@(Html.Kendo().Grid<HotelRooming.ViewModels.ManageRequestViewModel>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.ArrivalDate).HtmlAttributes(new { @class = "Arrivaldate" }).Format("{0:MM/dd/yyyy}").Width(100);
columns.Bound(p => p.DepartureDate).Format("{0:MM/dd/yyyy}").Width(100);
columns.Bound(p => p.Hotel).Width(150).ClientTemplate("#=Hotel.HotelName#").HtmlAttributes(new { @class = "HotelNames" }).Filterable(false);
})
)
モデル:
public class ManageRequestViewModel
{
[DisplayName("Check-in Date")]
public DateTime ArrivalDate { get; set; }
[DisplayName("Check-out Date")]
public DateTime DepartureDate { get; set; }
[UIHint("ClientHotel")]
[DisplayName("Hotel")]
public ClientHotelViewModel Hotel { get; set; }
}
どんな助けでも大歓迎です。