1. 程式人生 > >EXT.NET複雜佈局(二)——報表

EXT.NET複雜佈局(二)——報表

前面提到過工作臺(《EXT.NET複雜佈局(一)——工作臺》)了,不知道各位看過之後有什麼感想。這次就介紹介紹使用EXT.NET畫幾個報表。

看圖寫作從小學就開始了,如圖:

image

圖一

image

圖二

image

圖三(1)

image

圖三(2)

各位看官,不要以為這報表畫起來很難,其實使用EXT.NET來畫的話,還是挺簡單方便的。

1)下面就從圖一開始。

這個報表實現,本人採用的是最原始的手寫程式碼(之所以這麼說,是因為沒怎麼偷懶,老老實實的寫的,因為這是剛接觸EXT.NET的時候畫的)

先上程式碼,然後再說話吧。其實註釋挺全的,所以也不需要說什麼話了:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %> <style type="text/css"> .total-field { background-color: #fff; font-weight: bold !important; color: #000; border: solid 1px silver; padding: 2px; margin-right: 5px; } .headRows1 { color: Green; font-weight: bolder;
} .headRows2 { color: Blue; font-weight: bolder; } </style> <script type="text/javascript"> function getYear() { return <%=txtYear.ClientID %>.getValue(); } function getMonth() { return <%=cboMonth.ClientID %>.getValue(); } </script> <ext:ResourceManager ID=
"ResourceManager1" runat="server"> </ext:ResourceManager> <ext:Viewport runat="server" ID="Viewport1" Layout="Fit"> <Items> <ext:GridPanel ID="GridPanel1" Width="400" Height="230" TrackMouseOver="true" runat="server" StripeRows="true" Title="店鋪狀態統計表" Header="false" AutoExpandColumn="RptId" Frame="true"> <Store> <ext:Store ID="Store1" ShowWarningOnFailure="false" AutoLoad="false" runat="server"> <Proxy> <ext:HttpProxy runat="server" Method="POST" Url="/Ajax/Reports.ashx"> </ext:HttpProxy> </Proxy> <Reader> <ext:JsonReader IDProperty="RptId" TotalProperty="total" Root="data"> <Fields> <%--RptId 標識 店鋪狀態統計表--%> <ext:RecordField Name="RptId" /> <%--報表年份--%> <ext:RecordField Name="RptYear" /> <%--報表月份--%> <ext:RecordField Name="RptMonth" /> <%--新概念店目標--%> <ext:RecordField Name="TargetNewEntrant" /> <%--其他品牌轉新概念店目標--%> <ext:RecordField Name="TargetOM" /> <%--家樂福店目標--%> <ext:RecordField Name="TargetC4" /> <%--總數目標--%> <ext:RecordField Name="TargetTotal" /> <%--新概念店開店數--%> <ext:RecordField Name="NewStoreNewEntrant" /> <%--其他品牌轉新概念店開店數--%> <ext:RecordField Name="NewStoreOM" /> <%--家樂福開店數--%> <ext:RecordField Name="NewStoreC4" /> <%--新概念店開店總數--%> <ext:RecordField Name="NewStoreNCSTotal" /> <%--美麗健康店開店數--%> <ext:RecordField Name="NewStoreHB" /> <%--開店總數--%> <ext:RecordField Name="NewStoreTotal" /> <%--新概念店簽約數--%> <ext:RecordField Name="ContractSignedNCS" /> <%--美麗健康店簽約數--%> <ext:RecordField Name="ContractSignedHB" /> <%--簽約總數--%> <ext:RecordField Name="ContractSignedTotal" /> <%--新概念店施工數--%> <ext:RecordField Name="UnderDecoNCS" /> <%--美麗康店施工數--%> <ext:RecordField Name="UnderDecoHB" /> <%--施工總數--%> <ext:RecordField Name="UnderDecoTotal" /> <%--改型店目標--%> <ext:RecordField Name="UpgradingTarget" /> <%--改型店數--%> <ext:RecordField Name="UpgradingInOperation" /> <%--改型店簽約數--%> <ext:RecordField Name="UpgradingContractSigned" /> <%--改型店施工數--%> <ext:RecordField Name="UpgradingUnderDeco" /> <%--自動解約數--%> <ext:RecordField Name="ClosureNonPerform" /> <%--公司解約數--%> <ext:RecordField Name="ClosureForcedAttrition" /> <%--解約總數--%> <ext:RecordField Name="ClosureTotal" /> <%--淨店數--%> <ext:RecordField Name="StoreStatusNetStore" /> <%--新概念店總數--%> <ext:RecordField Name="StoreStatusStoreNoNCS" /> <%--美麗健康店總數--%> <ext:RecordField Name="StoreStatusStoreNoHB" /> <%--老店總數--%> <ext:RecordField Name="StoreStatusStoreNoOld" /> <%--總店數--%> <ext:RecordField Name="StoreStatusStoreNoTotal" /> <%--報表建立日期--%> <ext:RecordField Name="RptDate" Type="Date" /> <ext:RecordField Name="DisplayMonth" /> </Fields> </ext:JsonReader> </Reader> <BaseParams> <ext:Parameter Name="type" Value="ShopStatus" Mode="Value" /> <ext:Parameter Name="Year" Value="getYear()" Mode="Raw" /> <ext:Parameter Name="Month" Value="getMonth()" Mode="Raw" /> </BaseParams> </ext:Store> </Store> <ColumnModel ID="ColumnModel1" runat="server"> <Columns> <%--National:Start--%> <ext:Column Header="Year" Hideable="true" DataIndex="DisplayMonth" Locked="true" /> <ext:Column Header="ID" ColumnID="RptId" Hidden="true" DataIndex="RptId" /> <%--National:End--%> <%--<ext:Column Header="報表年份" Hidden="true" DataIndex="RptYear" />--%> <%--NewStore:Start--%> <%-----------Target:Start--%> <ext:Column Header="NewEntrant" Hideable="true" DataIndex="TargetNewEntrant" /> <ext:Column Header="OM" Hideable="true" DataIndex="TargetOM" /> <ext:Column Header="C4" Hideable="true" DataIndex="TargetC4" /> <ext:Column Header="Total" Hideable="true" DataIndex="TargetTotal" /> <%-----------Target:End--%> <%-----------Actual Store opened:Start--%> <ext:Column Header="NewEntrant" Hideable="true" DataIndex="NewStoreNewEntrant" /> <ext:Column Header="OM" Hideable="true" DataIndex="NewStoreOM" /> <ext:Column Header="C4" Hideable="true" DataIndex="NewStoreC4" /> <ext:Column Header="Total" Hideable="true" DataIndex="NewStoreNCSTotal" /> <ext:Column Header="H&B" Hideable="true" DataIndex="NewStoreHB" /> <ext:Column Header="Total" Hideable="true" DataIndex="NewStoreTotal" /> <%-----------Actual Store opened:End--%> <%----------- Contract Signed:Start--%> <ext:Column Header="NCS" Hideable="true" DataIndex="ContractSignedNCS" /> <ext:Column Header="H&B" Hideable="true" DataIndex="ContractSignedHB" /> <ext:Column Header="Total" Hideable="true" DataIndex="ContractSignedTotal" /> <%----------- Contract Signed:End--%> <%----------- Under Deco.:Start--%> <ext:Column Header="NCS" Hideable="true" DataIndex="UnderDecoNCS" /> <ext:Column Header="H&B" Hideable="true" DataIndex="UnderDecoHB" /> <ext:Column Header="Total" Hideable="true" DataIndex="UnderDecoTotal" /> <%----------- Under Deco.:End--%> <%--NewStore:End--%> <%--Upgrading:Start--%> <ext:Column Header="Target" Hideable="true" DataIndex="UpgradingTarget" /> <ext:Column Header="InOperation" Hideable="true" DataIndex="UpgradingInOperation" /> <ext:Column Header="ContractSigned" Hideable="true" DataIndex="UpgradingContractSigned" /> <ext:Column Header="UnderDeco" Hideable="true" DataIndex="UpgradingUnderDeco" /> <%--Upgrading:End--%> <%--Closure:Start--%> <%----------- Drop-Out:Start--%> <ext:Column Header="NonPerform" Hideable="true" DataIndex="ClosureNonPerform" /> <ext:Column Header="ForcedAttrition" Hideable="true" DataIndex="ClosureForcedAttrition" /> <ext:Column Header="Total" Hideable="true" DataIndex="ClosureTotal" /> <%----------- Drop-Out:End--%> <%--Closure:End--%> <%--Store Status:Start--%> <ext:Column Header="NetStore" Hideable="true" DataIndex="StoreStatusNetStore" /> <%----------- Store No.:Start--%> <ext:Column Header="NCS" Hideable="true" DataIndex="StoreStatusStoreNoNCS" /> <ext:Column Header="H&B" Hideable="true" DataIndex="StoreStatusStoreNoHB" /> <ext:Column Header="Old" Hideable="true" DataIndex="StoreStatusStoreNoOld" /> <ext:Column Header="Total" Hideable="true" DataIndex="StoreStatusStoreNoTotal" /> <%----------- Store No.:End--%> <%--Store Status:End--%> <ext:DateColumn Header="報表建立日期" Hidden="true" DataIndex="RptDate" Format="yyyy-MM-dd" /> </Columns> </ColumnModel> <LoadMask ShowMask="true" /> <View> <ext:GroupingView runat="server"> <%--隱藏列在分組標頭中,仍佔用列數--%> <%--一個HeaderGroupRows表示一行--%> <HeaderGroupRows> <ext:HeaderGroupRow> <Columns> <ext:HeaderGroupColumn Header="<font class='headRows1'>National</font>" Align="Center" /> <ext:HeaderGroupColumn Align="Center" Header="<font class='headRows1'>New Store</font>" ColSpan="17" /> <ext:HeaderGroupColumn Align="Center" Header="<font class='headRows1'>Upgrading</font>" ColSpan="4" /> <ext:HeaderGroupColumn Align="Center" Header="<font class='headRows1'>Closure</font>" ColSpan="3" /> <ext:HeaderGroupColumn Align="Center" Header="<font class='headRows1'>Store Status</font>" ColSpan="5" /> <ext:HeaderGroupColumn Align="Center" /> </Columns> </ext:HeaderGroupRow> </HeaderGroupRows> <HeaderGroupRows> <ext:HeaderGroupRow> <Columns> <ext:HeaderGroupColumn Align="Center" Header="<font class='headRows2'>Year/Month</font>" /> <ext:HeaderGroupColumn Align="Center" Header="<font class='headRows2'>Target</font>" ColSpan="5" /> <ext:HeaderGroupColumn Align="Center" Header="<font class='headRows2'>Actual Store opened</font>" ColSpan="6" /> <ext:HeaderGroupColumn Align="Center" Header="<font class='headRows2'>Contract Signed</font>" ColSpan="3" /> <ext:HeaderGroupColumn Align="Center" Header="<font class='headRows2'>Under Deco</font>" ColSpan="3" /> <ext:HeaderGroupColumn Align="Center" ColSpan="4" /> <ext:HeaderGroupColumn Align="Center" Header="<font class='headRows2'>Drop-Out</font>" ColSpan="3" /> <ext:HeaderGroupColumn Align="Center" /> <ext:HeaderGroupColumn Align="Center" Header="<font class='headRows2'>Store No.</font>" ColSpan="4" /> <ext:HeaderGroupColumn Align="Center" /> </Columns> </ext:HeaderGroupRow> </HeaderGroupRows> </ext:GroupingView> </View> <TopBar> <ext:Toolbar ID="Toolbar1" runat="server"> <Items> <ext:ToolbarSpacer Width="10" runat="server" /> <ext:NumberField runat="server" LabelWidth="74" ID="txtYear" Width="162" MinLength="4" MinLengthText="輸入的年份必須為四位數!" MaxLength="4" FieldLabel="請輸入年份" /> <ext:ToolbarSpacer ID="ToolbarSpacer1" Width="10" runat="server" /> <ext:ComboBox ID="cboMonth" LabelWidth="74" EmptyText="請選擇月份!" FieldLabel="請選擇月份" Editable="false" runat="server"> <Items> <ext:ListItem Text="01" Value="1" /> <ext:ListItem Text="02" Value="2" /> <ext:ListItem Text="03" Value="3" /> <ext:ListItem Text="04" Value="4" /> <ext:ListItem Text="05" Value="5" /> <ext:ListItem Text="06" Value="6" /> <ext:ListItem Text="07" Value="7" /> <ext:ListItem Text="08" Value="8" /> <ext:ListItem Text="09" Value="9" /> <ext:ListItem Text="10" Value=

相關推薦

EXT.NET複雜佈局——報表

前面提到過工作臺(《EXT.NET複雜佈局(一)——工作臺》)了,不知道各位看過之後有什麼感想。這次就介紹介紹使用EXT.NET畫幾個報表。 看圖寫作從小學就開始了,如圖: 圖一 圖二 圖三(1) 圖三(2) 各位看官,不要以為這報表畫起來很難,其實使用EXT.NET來畫的話,

EXT.NET複雜佈局——系統首頁設計

此篇為EXT.NET系列終結篇。希望此係列能夠對大家有所幫助。 首頁JS函式介紹 使然使用了Ext.NET,但是JavaScript的地位還是舉足輕重的。 1.新增選項卡 1: var addTab = function (id, url, title) { 2:

EXT.NET複雜佈局——系統首頁設計

本篇主要講述頁面設計與效果,下篇將講述編碼並提供原始碼下載。 系統首頁設計往往是個難點,因為往往要考慮以下因素: 重要通知系統功能選單快捷操作日常維護工作(比如待辦事項、已辦事項等等)使用者資訊(比如公司、部門、組織機構)系統資訊(意見反饋、幫助等)聯絡溝通等等又要兼顧美觀

Android RecyclerView優雅實現複雜列表佈局

轉載:https://blog.csdn.net/huang3513/article/details/62046528 前言 學習了(一)中那個RecyclerView的一些基礎知識,如果沒有具體看懂可以再返回看不一樣的RecyclerView優雅實現複雜列表佈局(一),那麼接下來我們就在(

.NET基礎知識

處理 read 不能被繼承 c# 方法表 .net基礎 arr 如果 數據 1、new有幾種用法? 答:1、new Class(); 2、覆蓋方法,public new XXXX(); 3、new() 約束指定泛型類聲明中的任何類型參數都必須有公共的無參數構造函數 2

Asp.Net Web API

default exceptio 服務器 路由 回復 事情 http響應 images art 創建一個Web API項目 第一步,創建以下項目 當然,你也可以創建一個Web API項目,利用 Web API模板,Web API模板使用 ASP.Net MVC提供AP

CSS+DIV佈局

佈局的三種方式 一.常規流 以前沒有學佈局的時候,屬於常規流 元素按照常規顯示方式顯示,塊級元素垂直排列、行內元素就是水平排列   二.浮動 float:left; float:right: float:none; 典型應用兩個div水平排列 ******************

使用PrefView監測.NET程式效能:Perfview的使用

在上一篇部落格中,我們瞭解了對Windows及應用程式進行效能分析的基礎:Event Trace for Windows (ETW)。現在來看看基於ETW的效能分析工具——Perfview.exe Perfview簡介 Perfview是一個開源的CPU和記憶體效能分析工具,也包括一些針對.NET的分析功

三欄佈局-------上下寬高固定,中間自適應

上一篇寫的是左右寬高固定,中間自適應,根據上一篇的內容,總結了下上下寬高固定,中間自適應的幾種佈局方式,話不多說,直接上程式碼。 <!DOCTYPE html> <html> <head> <title>上中下三欄佈局</title>

.net WebService學習

    .net呼叫Webwebservice 通常是把WebServer釋出到iis,然後在另一個程式中調(這裡為了方便直接在本程式中呼叫演示)  1.專案中的引用選擇新增服務引用,地址輸入剛才那個頁面的地址。 然後看專案Service References資料夾

Flutter 佈局- Padding、Align、Center詳解

本文主要介紹Flutter佈局中的Padding、Align以及Center控制元件,詳細介紹了其佈局行為以及使用場景,並對原始碼進行了分析。 1. Padding A widget that insets its child by the given padding. 1.1 簡介 Padding在

看動畫輕鬆理解時間複雜

    上篇文章講述了與複雜度有關的大 O 表示法和常見的時間複雜度量級,這篇文章來講講另外幾種複雜度: 遞迴演算法的時間複雜度(recursive algorithm time complexity),最好情況時間複雜度(best case time complexity)、最壞情況

應用程式框架實戰三十三:表現層及ASP.NET MVC介紹

  最近的更新速度越來越慢,主要是專案上比較忙,封裝EasyUi也要花很多時間。不過大家請放心,本系列不會半途夭折,並且程式碼乾貨也會持續更新。本文繼續介紹表現層和Asp.net Mvc,我將在本篇討論一些重要的設計問題和封裝技巧。 是否需要將控制器分離為獨立專案   經常有人問我,是否有必要將控制器從W

簡易的後臺管理頁面佈局

這裡做了一個簡易的模板,用到了一個獲取圖示的小工具,可以到這個網站下載:http://fontawesome.io/ 色彩搭配也許不好看,我不是專門搞這個的。 由於時間原因沒有寫入JS,可以自己加入。 <!DOCTYPE html> <html lang

重新整理載入RecyclerView+圖片載入Glide+多樣式佈局

先介紹多樣式佈局,可分為三步走,第一步在bean類中加入控制佈局的int欄位,來供給Adapter選擇佈局。這裡我們定義兩種佈局,一種圖片在中間背景白色,一種圖片在左邊背景粉色。 Bean程式碼如下: public class ActType i

ASP.NET Web API:安全驗證之使用HTTP基本認證

在前一篇文章ASP.NET Web API(一):使用初探,GET和POST資料中,我們初步接觸了微軟的REST API: Web API。 我們在接觸了Web API的後就立馬發現了有安全驗證的需求,所以這篇文章我們先來討論下安全驗證一個最簡單的方法:使用HTTP基本

.NET相關知識

資料結構(待補充) .NET中的數字(待補充) 日期時間 public String store; public TimeZoneInfo tz; public TimeSpan open; public TimeSpan clo

ASP.NET學習筆記——一般處理程式之圖片上傳

簡單圖片上傳功能 目標:實現從本地磁碟讀取圖片檔案,展示到瀏覽器頁面。 步驟: (1). 首先建立一個用於上傳圖片的HTML模板,命名為ImageUpload.html: <!DOCTYPE html> <html> <h

YII框架頁面使用frameset佈局

在框架的右側進行編輯操作 1.protected\views\index\index.php <frame name=head src="./index.php?r=index/head"

swing的高階佈局

1,箱式佈局BoxLayout 箱式佈局是管理一組水平或者垂直的元件的佈局,就是說每一組水平元件或者垂直元件,都要進行管理。 這裡有兩種型別的不可見元件,分別為strut和glue strut有    createHorizontalStrut(int width)