【问题标题】:Kendo chart in kendo grid剑道网格中的剑道图表
【发布时间】:2014-07-20 07:56:18
【问题描述】:

我有一个问题,我需要用 Asp.net mvc 在剑道网格中设置剑道饼图。

我有一个网格,我想在客户端模板的某一列中设置一个饼图。

我可以做吗?如果可以怎么做?

Tnx

【问题讨论】:

    标签: kendo-ui kendo-grid kendo-chart


    【解决方案1】:

    请参考下面关于 Telerik 的论坛,其中提供了一个 jsfiddle 示例,供您查找所需内容

    Telerik Forum Link

    Sample JS Fiddle

    【讨论】:

      【解决方案2】:

      这样试试

      @(Html.Kendo().Grid<Model>()
              .Name("grid")
                    .DataSource(dataSource => dataSource
                              .Ajax()                       
                              .ServerOperation(true)                       
                              .Model(model => model.Id(p => p.ID))
                              .Read(read => read.Action("method", "controller"))
                          )
              .Pageable()
              .Sortable()
              .Scrollable()
                  .Events(e => e.DataBound("dataBound"))
              .Filterable(ftb => ftb.Mode(GridFilterMode.Row))
              .Columns(columns =>
              {
      
                  columns.Bound(p => p.ID).ClientTemplate("<div class='chart'></div>");
              })
      )
      

      脚本是

      function dataBound() {
                  var grid = this;
      
                  grid.tbody.find("tr[role='row']").each(function () {
                      var model = grid.dataItem(this);
      
      
      
                      $(this).find(".chart").kendoChart({
                          title: {
                              text: "Olympic Medals won by USA"
                          },
                          legend: {
                              visible: false
                          },
                          seriesDefaults: {
                              type: "bar",
                              stack: {
                                  type: "100%"
                              }
                          },
                          series: [{
                              name: "Gold Medals",
                              data: [40, 32, 34, 36, 45, 33, 34, 83, 36, 37, 44, 37, 35, 36, 46],
                              color: "#f3ac32"
                          }, {
                              name: "Silver Medals",
                              data: [19, 25, 21, 26, 28, 31, 35, 60, 31, 34, 32, 24, 40, 38, 29],
                              color: "#b8b8b8"
                          }, {
                              name: "Bronze Medals",
                              data: [17, 17, 16, 28, 34, 30, 25, 30, 27, 37, 25, 33, 26, 36, 29],
                              color: "#bb6e36"
                          }],
                          valueAxis: {
                              line: {
                                  visible: false
                              },
                              minorGridLines: {
                                  visible: true
                              }
                          },
                          categoryAxis: {
                              categories: [1952, 1956, 1960, 1964, 1968, 1972, 1976, 1984, 1988, 1992, 1996, 2000, 2004, 2008, 2012],
                              majorGridLines: {
                                  visible: false
                              }
                          },
                          tooltip: {
                              visible: true,
                              template: "#= series.name #: #= value #"
                          }
                      });
                  });
              }
      

      【讨论】:

        【解决方案3】:

        我有一个特殊要求。在表格内制作单个水平列。我认为每个表都有一个图表会有点过分,所以我自定义了网格组件。它基于一个简单的 Html 表格,使用一些 CSS 对其进行样式化,并使用 KendoUI 将其制成网格。

        如果您想要一些非常具体的内容,这可能会有所帮助。

        视觉示例:

        这是一个工作示例: http://embed.plnkr.co/Hy2u4d/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-11-30
          • 2013-11-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多