【问题标题】:syncfusion ej grid javascript methodsyncfusion ej网格javascript方法
【发布时间】:2018-11-22 14:13:09
【问题描述】:

我对 mvc 的同步融合控件非常陌生。在探索如何将动态数据源设置为网格时,我遇到了这行我无法理解的 javascript 代码。我已经浏览了 ej 网格的 javascript api 文档,但找不到含义。

var obj = $("#Grid").ejGrid("instance");

如果有人能解释一下含义并指出一些参考文档,我将不胜感激。

我遇到的例子 https://help.syncfusion.com/aspnetmvc/grid/how-to

我用过的javascript api https://help.syncfusion.com/api/js/ejgrid#members:datasource

P.s:我从评论中知道,这与当前的 ej 网格实例有关,但我希望通过参考得到一个扎实的理解,以便我能理解。

【问题讨论】:

    标签: syncfusion


    【解决方案1】:

    根据我对 Syncfusion 控件的一点经验,解释如何执行任务的文档没有很好地说明。如果您有许可证,您可以在他们的论坛中提问,但我可以告诉您我在浏览他们的论坛时学到了什么。

    在他们的 JS 1 版本中

    var obj = $("#Grid").ejGrid("instance");
    

    在他们的 JS 2 版本中

    var obj = document.getElementById('Grid').ej2_instances[0];
    

    变量 obj 似乎获得了对由 id Grid 标识的网格的对象引用。除了文档中的示例显示它并且它在使用时它可以工作之外,我不确定实例值指的是什么。

    不确定我是否有很大帮助。

    【讨论】:

      【解决方案2】:

      在下面的代码示例中 Grid – 网格 ID,您可以使用上面的代码示例获取 Grid 实例。从实例中,您可以获取有关当前应用于 ejGrid 的列、dataSource、filterSettings、sortSettings 等的详细信息。我们已经支持使用几种公共方法自定义网格。您可以通过获取 Grid 实例来调用这些方法。

      @(Html.EJ().Grid<EJGrid.Models.Order>("Grid")
      .Datasource((IEnumerable<object>)ViewBag.datasource)
      .AllowPaging()
      .Columns(col =>
      {    col.Field("OrderID").HeaderText("Order ID").TextAlign(TextAlign.Right).Width(75).Add();
           col.Field("EmployeeID").HeaderText("Employee ID").TextAlign(TextAlign.Right).Width(90).Add();
           col.Field("Freight").HeaderText("Freight").Format("{0:c}").TextAlign(TextAlign.Right).Width(90).Add();
           col.Field("ShipCity").HeaderText("Ship City").Width(90).Add();
           col.Field("Child.Test").HeaderText("TEst").Format("{0:c}").Width(90).Add();
           col.Field("ShipCountry").HeaderText("Ship Country").Width(90).Add();
      })
      )
      
      <script>
              var obj = $("#Grid").ejGrid("instance");
              var value = $("#colValue").val();
              //Add custom parameter to the server 
              var query = new ej.Query().addParams("EmployeeID", value);
              //Creating ejDataManager with UrlAdaptor
              var dataManager = ej.DataManager({ url: "/Home/GetData", adaptor: new ej.UrlAdaptor() }); 
              var promise = dataManager.executeQuery(query); promise.done(function (e) { 
                  //Assign the result to the grid dataSource using "dataSource" method. 
                  obj.dataSource(e.result);
          </script>
      

      要更新 Grid,您可以使用 dataSource() 方法。要调用该方法,您需要获取 Grid 实例并调用该方法。

      请参阅以下 API 文档以供参考

      https://help.syncfusion.com/api/js/ejgrid#methods:datasource - 用于动态更新Grid数据源

      https://help.syncfusion.com/api/js/ejgrid#members:datasource - 返回 Grid 数据源。

      如果您有其他疑问,请与我们联系。

      【讨论】:

      • 谢谢 vignesh vicky 能否请您指出具体说明您已回答内容的文档,因为我实际上想知道它在哪里声明使用 ejGrid("instance") 将为我提供当前实例的网格。一旦我有那个参考,我会把你的答案标记为正确的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      • 2017-06-20
      相关资源
      最近更新 更多