Ext.Net动态加载多表头

 效果展示如下: 

aspx页面代码:

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    <title>数据展示(版本3)</title>
</head>
<body>
    <form id="form1" runat="server">
    <ext:ResourceManager ID="ResourceManager1" runat="server" />
    <ext:GridPanel ID="gpList" runat="server"  Title="" IconCls="icon-grid" AnimCollapse="false" Collapsible="true"  SortableColumns="true" AutoHeight="true" Width="3000">
        <Store>
            <ext:Store ID="StoreAll" runat="server" OnRefreshData="MyData_Refresh">
                <Model>
                    <ext:Model ID="Model1" runat="server">
                        <Fields>
                        </Fields>
                    </ext:Model>
                </Model>
            </ext:Store>
        </Store>       
        <ColumnModel ID="ColumnModel1" runat="server">
            <Columns>
            </Columns>
        </ColumnModel>
        <SelectionModel>
            <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" PruneRemoved="false" Mode="Multi" />
        </SelectionModel>
    </ext:GridPanel>
    </form>
</body>
</html>

aspx.cs文件代码:

if (!IsPostBack)
{
  //清除旧数据与记录集
      this.StoreAll.Reader.Clear();
      this.gpList.SelectionModel.Clear();
      this.gpList.ColumnModel.Columns.Clear();
      this.StoreAll.Model.Clear();

  DataTable dtProject = new PerforBLL().GetData();//从数据库中读取的数据

  //数据源
     DataTable results = new DataTable();
     results.Columns.Add("Name");

  //数据集Store
  Model extModel = new Model();
  extModel.Fields.Add(new ModelField("Name", ModelFieldType.String));
  
  //显示的列数据
  List<ColumnBase> extColumnBaseList = new List<ColumnBase>();
  extColumnBaseList.Add(new RowNumbererColumn() { ID = "RowNumbererColumn1", Width = 25 });
  extColumnBaseList.Add(new Column() { ID = "cName", Text = "名称", Width = 300, DataIndex = "Name" });

  Column wZJ= new Column() { ID = "cWHZ", Text = "汇总" };

  extModel.Fields.Add(new ModelField("W-T", ModelFieldType.Float));
      extModel.Fields.Add(new ModelField("W-P", ModelFieldType.Float));

if (!results.Columns.Contains("W-T")) results.Columns.Add("W-T");
      if (!results.Columns.Contains("W-P")) results.Columns.Add("W-P");

wZJ.Columns.Add(new Column()
       {
         Text = "时间",
             Width = 50,
             DataIndex = "W-T",
             Sortable = true
       });
       wZJ.Columns.Add(new Column()
       {
         Text = "成本",
             Width = 50,
             DataIndex = "W-P",
             Sortable = true
  });

  extColumnBaseList.Add(wZJ);

  //动态给数据

  foreach (DataRow drProject in dtProject.Rows)
     {
    DataRow dr = results.NewRow();
           dr["Name"] = drProject["Name"];
    dr["W-T"]= 0;
           dr["W-P"] = 0;

    results.Rows.Add(dr);

  }

  this.StoreAll.Model.Add(extModel);
      this.gpList.ColumnModel.Columns.AddRange(extColumnBaseList);
      this.StoreAll.DataSource = results;
      this.StoreAll.DataBind();
      this.gpList.Render();

}

时间: 2024-11-13 06:37:38

Ext.Net动态加载多表头的相关文章

ext combobox动态加载数据库数据

前台: var provinceStore = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url: basePath + "/stationManage/station_getProvinceJSON.action" }), reader: new Ext.data.JsonReader( { root: "" }, ["PROVINCEID", "PROVINCENAME

Ext create动态加载分析

主要涉及到Ext.js Inventory.js ClassManager.js Class.js Loader.js Boot.js 在ClasManager.js的Ext.create中 Ext.syncRequire(name); // 加载类的js Loader.js 中 syncRequire: function () { var wasEnabled = Loader.syncModeEnabled; Loader.syncModeEnabled = true; var ret =

Extjs学习----------动态加载js文件(减轻浏览器的压力)

动态加载js文件可以减轻浏览器的压力,本例使用了Ext.window.Window组件,该组件的学习地址:http://blog.csdn.net/z1137730824/article/details/38538277 具体实现步骤: (1)建立dynamic.jsp文件 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String

项目总结—jQuery EasyUI-DataGrid动态加载表头

http://blog.csdn.net/zwk626542417/article/details/19248747 概要 在前面两篇文章中,我们已经介绍了在jQuery EasyUI-DataGrid中有参数和无参数的情况下将数据库中数据显示到前台,但是对于前面两篇文章显示的数据表头是固定的,如果我们显示到前台的数据来自数据库不同的表,那么表头也需要动态的加载,这篇文章我们就来看下在EasyUI-DataGrid中动态加载表头和数据. 实现 我们要实现的功能是根据我们的需要,让DataGrid

Ext动态加载Toolbar

在使用Ext的GridPanel时候,有时候需要面板不用重新加载而去更新Store或者Toolbar,Store的方法有很多,例如官方api给我们提供的Store.load(),Store.reLoad(),等方法都可以对数据进行重新加载,在这篇博文中,主要来阐述如何动态加载Toolbar. 实现动态的加载Toolbar,首先必须知道,Toolbar是加载在panel上的,可以根据,重新加载Panel来进行增加,但是,不管是对于性能或者是代码的维护上来说,这种方式肯定都是不可取的. 接下来进入正

jQuery EasyUI-DataGrid动态加载表头

项目总结—jQuery EasyUI-DataGrid动态加载表头 目录(?)[-] 概要 实现 总结 概要 在前面两篇文章中,我们已经介绍了在jQuery EasyUI-DataGrid中有参数和无参数的情况下将数据库中数据显示到前台,但是对于前面两篇文章显示的数据表头是固定的,如果我们显示到前台的数据来自数据库不同的表,那么表头也需要动态的加载,这篇文章我们就来看下在EasyUI-DataGrid中动态加载表头和数据. 实现 我们要实现的功能是根据我们的需要,让DataGrid显示不同的数据

[转]bootstrap的table插件动态加载表头

原文地址:https://blog.csdn.net/abubu123/article/details/78060321 bootstrap的table属性已经很熟悉了,最近遇到一个问题,犹豫每个列表加载的数据需求不同,所以需要动态的更换表头. 网上有很多加载表格数据的例子,但是却没有找到如何动态加载表格,再加在数据. 虽然可以一个表格加载一种数据,但是本着学习的态度尝试了下这种方式,结果发现是可以执行的.分享下思路和实现过程,以备日后使用. 思路: 1.写接口,查询出要展示的列.注意接口中必须

Ext选项卡tabpanel切换动态加载数据

鸣人不说暗话,来张图: 代码开始:(使用Ext,ajax加载数据,如果你们有好的方法也可以多多交流)var tabxsk = new Object(); //初始化 tabxsk.init = function () { test.pageSize = Math.floor((d_right_height() - 106 - 27) / 23); tabxsk.markpageSize = Math.floor((d_right_height() - 106 - 27) / 23); tabxs

Java的动态加载及其安全性问题

1.什么是动态加载 Class Loaders是动态加载Java类与Resource的一种机制.它支持Laziness,type-safe linkage,user-defined extensibility和multiple communicating namespaces这4种特性. Lazy loading:Class只有在需要的时候才加载.这样减少了内存使用量,能提高系统反映速度: Type-safe linkage:动态类加载不会破坏JVM的类型安全: User-definable c