【问题标题】:How to Bind Data to kendo grid by passing date from kendo datepicker?如何通过从 kendo datepicker 传递日期将数据绑定到 kendo 网格?
【发布时间】:2015-05-05 07:05:39
【问题描述】:

我是 Kendo UI 的新手,我有一个 kendo DatePicker 和一个 Kendo GridView。根据数据从 DatePicker 中选择日期后,应绑定到 Kendo GridView。我将 jquery 与 Ajax 一起使用,我的 jquery 函数是

List<MDA.AppEntities.Orders.OrderList> objConsults = new List<MDA.AppEntities.Orders.OrderList>(); 
objConsults = DataFacade.Operations.GetCustomerOrderDetailsByCustomerID(Patientid,startDate,en‌​dDate ); 
return new PrimeJsonResult { MaxJsonLength = int.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new GridModel<MDA.AppEntities.Orders.OrderList> { Data = objConsults } };

它进入success: function(data),但没有执行内部代码并跳转回$.ajax(),我不明白为什么。

@(Html.Kendo().Grid<MDA.AppEntities.Orders.OrderList>(Model.OrderList)
    .Name("GridOrders")
    .PrefixUrlParameters(false)
    .Columns(col =>
    {
        col.Bound(o => o.Ord_ID).Title("Event ID").Width("10%");
        col.Bound(o => o.Ord_Date).Title("Event Date").Format("{0:MM/dd/yyyy}").Width("10%");
        col.Bound(o => o.Status).ClientTemplate("# if (EventType == 'eConsult') { # " + "<strong> #: EventConsultStatus #</strong> "
            + " # } else  if (OS_ID == " + (int)MDA.AppConstants.OrderStatus.AllOrderStatus.LocalPickupInScriptSureQueue + " || OS_ID == "
            + (int)MDA.AppConstants.OrderStatus.AllOrderStatus.LocalPickupProcessing + " || OS_ID == " + (int)MDA.AppConstants.OrderStatus.AllOrderStatus.LocalPickupPending
            + " || OS_ID  == " + (int)MDA.AppConstants.OrderStatus.AllOrderStatus.LocalPickupEnteredWithErrors + " || OS_ID  == "
            + (int)MDA.AppConstants.OrderStatus.AllOrderStatus.LocalPickupScriptSureTimeWait + "){ # " + " <p> Rx Approved </p> " + " # } else if (OS_ID == "
            + (int)MDA.AppConstants.OrderStatus.AllOrderStatus.LocalPickupEntered + " || OS_ID == " + (int)MDA.AppConstants.OrderStatus.AllOrderStatus.PickedFromLocalPharmacy
            + ") { # " + " <p> LPU Complete </p>" + " # } else { # " + "<strong> #: OS_Desc # </strong>" + " # }  #").Title("Status").Width("12%");
        col.Bound(o => o.Comment).Title("Details").Width("20%");
        col.Bound(o => o.TotalPrice).Title("Rx Cost").Format("$ " + "{0:F2}").Width("8%");
        col.Bound(o => o.EventConsultStatusID).ClientTemplate(" # if((OS_ID==" + (int)MDA.AppConstants.OrderStatus.AllOrderStatus.OrderSubmitted
            + "|| OS_ID ==" + (int)MDA.AppConstants.OrderStatus.AllOrderStatus.ConsultationStarted
            + ")&& (EventConsultStatusID==" + (int)MDA.AppConstants.ConstantValues.ConsultationStatus.SUBMIT
            + " || EventConsultStatusID==" + (int)MDA.AppConstants.ConstantValues.ConsultationStatus.START
            + "))  {# " + @Html.ActionLink(String.IsNullOrEmpty("EditConsultation") ? "-" : "EditConsultationlink", "CreateConsultation", new { @CustID = "#=Cust_ID#", @IsEdit = "#=Ord_ID#" }, getHtmlAttributesForActionLink("EditConsultation")) + "#} else if ( EventConsultStatusID == "
            + (int)MDA.AppConstants.ConstantValues.ConsultationStatus.WRITTEN + ") {# <a  href= " + Url.Action("ReviewConsultation", "Customer", new { id = "#=Ord_ID#" }) + " > view consult  <p>  See Doctor Notes and place Order if Prescription Written  </p> </a>  #}  else if (EventConsultStatusID == "
            + (int)MDA.AppConstants.ConstantValues.ConsultationStatus.PENDING + ") {#  <a  href=" + Url.Action("ReviewConsultation", "Customer", new { id = "#Ord_ID#" })
            + "> view consult  <p>  See Doctor Notes and Respond  </p>  </a> #}   else if (Eligible_ReFill && (OS_ID == 35 || OS_ID == 41)){ # <p> Eligible for Re-fill </p> <span > Please click on View Consult Link to see Refill link </span> #} else if (Eligible_ReOrder && (OS_ID == 35 || OS_ID == 41) && EventTypeID == 1) {# <p> Eligible for Re-Order  </p> <span > Please click on View Consult Link to see ReOrder link </span> #} else if (EventType == 'eConsult' || EventType == 'TeleConsult') {# <a  href="
            + Url.Action("ReviewConsultation", "Customer", new { id = "#=Ord_ID#" }) + "> view consult  </a> #} else  {# <a  href=" + Url.Action("OrderDetails", "Customer", new { id = "#=Ord_ID#" })
            + "> view consult  </a> # } if (OS_ID ==" + (int)MDA.AppConstants.OrderStatus.AllOrderStatus.OrderShipped + " || OS_ID == " + (int)MDA.AppConstants.OrderStatus.AllOrderStatus.PickedFromLocalPharmacy + ") {#  <a href='javascript:void(0);' onclick=javascript:CenterWindow(900,800,50,"
            + Url.Action("ViewReceipt", "Customer", new { id = "#=Ord_ID#" }) + ">);> View/Print Receipt </a> #} if (OS_ID != " + (int)MDA.AppConstants.OrderStatus.AllOrderStatus.OrderCanceled + ") {# <br /> <a  href="
            + Url.Action("AttachReporToConsult", "Customer", new { OrderId = "#=Ord_ID#" }) + "> Attach Report </a> #} #").Title("Sample1").Width("25%");
    })
    .Resizable(resizing => resizing.Columns(true))
    .Pageable(Page => Page.Refresh(true).PageSizes(true).PreviousNext(true))
    .Filterable()
    .Sortable()
    .Scrollable()
    .Groupable()
    .Reorderable(reorder => reorder.Columns(true))
    .DataSource(dataSource => dataSource.Ajax()
        .Read(read => read.Action("_DemoDashBoard", "Customer", new { patientid = Model.CustomerID, startdate= Model.SearchStartDate, enddate=Model.SearchEndDate }))
        .ServerOperation(false)
    )
)

【问题讨论】:

  • 请发布您的网格代码。
  • @Vash 动作结果方法列表 objConsults = new List(); objConsults = DataFacade.Operations.GetCustomerOrderDetailsByCustomerID(Patientid,startDate,endDate); return new PrimeJsonResult { MaxJsonLength = int.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new GridModel { Data = objConsults } };
  • 下次请在问题中添加新信息。 :)
  • 您的视图中有一个名为GridOrders 的网格,请将该网格的源代码添加到您的问题中。这样可以更轻松地调试您的问题。
  • @Vash 我添加了 GridOrder 查看代码

标签: c# .net kendo-ui kendo-grid kendo-asp.net-mvc


【解决方案1】:

我认为您不需要 ajax 调用。试试这个,dataSource.read() 应该使用更新的参数调用您的操作:

$("#showDate").click(function(){
    var pid = $("#PatientID").val();
    var dtStartDate = $("#startDate").val();
    var dtEndDate = $("#endDate").val();

    if(dtStartDate > dtEndDate) {
        $("#spnshowDate").html("<html>From date should not be greater than To date</html>");
    }

    var grid = $("#gridOrders").data("kendoGrid");
    grid.dataSource.read({ patientid: pid, startdate: dtStartDate, enddate: dtEndDate })
});

【讨论】:

  • 我的 jquery 函数有什么缺陷
  • 好的,我会尽力告诉你
  • 我得到了答案我使用了很多与telerik相关的JS文件,现在我解决了它相互冲突。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多