代碼生成工具Database2Sharp中增加視圖的代碼生成以及主從表界面生成功能

来源:http://www.cnblogs.com/wuhuacong/archive/2016/02/20/5203043.html
-Advertisement-
Play Games

在代碼生成工具的各種功能規劃中,我們一向以客戶的需求作為驅動,因此也會根據需要增加一些特殊的功能或者處理。在實際的開發中,雖然我們一般以具體的表進行具體業務開發,但是有些客戶提出有時候視圖開發也是很常見的,為了提高代碼生成和界面生成的效率,基於視圖開發的過程也應該支持。還有主從表的界面生成操作,在很...


在代碼生成工具的各種功能規劃中,我們一向以客戶的需求作為驅動,因此也會根據需要增加一些特殊的功能或者處理。在實際的開發中,雖然我們一般以具體的表進行具體業務開發,但是有些客戶提出有時候視圖開發也是很常見的,為了提高代碼生成和界面生成的效率,基於視圖開發的過程也應該支持。還有主從表的界面生成操作,在很多實際的業務領域也是很常見的。基於上面的需求,本次代碼生成工具Database2Sharp中增加視圖的代碼生成以及主從表界面生成功能,為客戶的高效率開發快馬加鞭、保駕護航。

1、基於視圖的代碼生成和界面生成操作

為了支持視圖的相關代碼生成,我們把代碼生成工具底層的元數據進行了優化整合,是指在代碼生成方面,具體的表和視圖不再有具體的差異,基本上都是可以統一對待,實現快速的框架代碼生成、Winform界面生成、Web界面生成操作的,所有的表的相關屬性,視圖也具有,因此在代碼模板方便,不需要進行調整,相容了代碼模板的屬性處理,提高了已有代碼模板的安全性。

如上所示,為了區分表和視圖的位置,我們把視圖統一放在了表的後面,方便選擇處理,在選擇的時候,表和視圖都是一視同仁,所以代碼生成的處理適用於表的,也是適用於視圖的,可以統一一併生成,極大的提高了代碼生成的效率。

當然,視圖的增刪改操作,和表畢竟不一樣,一般視圖只是為了查詢數據進行展示的,所以在實際開發的時候,可以適當屏蔽視圖的增刪改操作,或者自定義相關的介面進行處理。

在Winform界面的生成的時候,我們也一樣整合了視圖的列表,可以基於視圖進行界面代碼的生成。

不過我們註意到,一般表我們使用備註信息作為Winform界面的欄位說明信息的,如果是視圖,那麼是無法獲取到它的視圖欄位備註信息的,因為視圖的欄位備註是不存在的,為了實現和表一樣具有中文備註的界面,我們增加了一個對視圖欄位進行備註信息維護的界面,有著欄位的備註,我們生成Winform界面的時候,對應欄位的標簽就有中文信息了。

通過Enterprise Library架構生成的相關代碼,也同時具有相關的備註信息,如下代碼所示。

通過代碼生成工具裡面的Winform界面代碼生成,當然也會具有相關的備註信息,可以在界面上顯示對應的中文標簽信息了。

視圖的Winform界面代碼生成和普通的表生成的Winform界面操作過程一樣,具體界面操作如下所示。

這樣生成的Winform界面操作和普通表的處理方式一致,而且對應的視圖欄位也有了備註信息,因此在界面上的標簽說明也就和表一樣,可以顯示備註信息了。 

 

2、主從表的界面生成操作

在有些情況下,有些業務表是具有主從關係的,如一個是彙總信息,一個是明細信息,如倉庫的入庫、出庫操作,會員的消費操作,都是典型的主從表應用場景,可以把它們作為一個界面生成的案例進行處理。

標準的主從表界面如下界面所示。

或者會員消費信息的橫向界面展示如下所示。

在我之前的代碼生成界面裡面,主要是生成標準的分頁列表展示,以及編輯明細兩個標準界面,為了更加豐富開發工具的界面生成,根據上面兩種界面的綜合情況,增加一個主從表的界面生成操作,這樣可以更加適應實際的業務開發工作,高效進行界面的快速生成。

如在代碼生成工具裡面,設置主從表的界面生成如下所示。

生成Winform界面代碼後,在VS編輯器裡面,可以看到如下所示界面。

最後在實際程式上運行生成的界面,就可以看到預覽的界面效果了,界面效果如下所示。

為了方便,上面界面增加了一個覆選框,用來切換橫向或者縱向展示明細列表的,勾選後進行橫向顯示,如下所示。

上面主從表的展示,還包括了明細表信息的彙總功能,這樣基本上滿足了主從表的信息展示了,如果需要,還可以在這基礎上進行更方便的改進了。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 要刪除某個資料庫,或者刪除資料庫中的所有表(刪除表結構和數據),需要先刪除表間的外鍵約束,才能刪除表。如刪除資料庫db_wy中的所有表: --/第1步**********刪除所有表的外鍵約束*************************/ DECLARE c1 cursor for select
  • 1.辦公軟體:wps 2.瀏覽器:火狐瀏覽器 如果您有好的軟體,請推薦給我,謝謝!
  • 1 硬體特性 1.1 概述 I2C匯流排是由Philips公司開發的兩線式串列匯流排,這兩根線為時鐘線(SCL)和雙向數據線(SDA)。由於I2C匯流排僅需要兩根線,因此在電路板上占用的空間更少,帶來的問題是帶寬較窄。I2C在標準模式下傳輸速率最高100Kb/s,在快速模式下最高可達400kb/s。屬於半
  • 前言:之前偶然的機會學習了廖老師關於Git學習的一個網站,講解的很好很詳細,通俗易懂,學習之餘決定將廖老師帖子的精髓作一個總結(相當於是筆記啦~~),也方便日後查詢鞏固,希望大家共勉!查看廖老師詳細原帖! 1、安裝Git 這裡,我只介紹一下在Linux系統下Git的安裝,如果需要瞭解Unix、Mac
  • 一、生成證書,所需機器數必須 >= 2(一臺生成服務端證書,一臺生成客戶端證書),以下伺服器以A表示服務端、B表示客戶端來舉例,thrift版本為0.7.01、自簽名的證書的生成和測試 1)生成密鑰和證書相關 服務端A, openssl genrsa -out server-key.pem 2048
  • atitit.ntfs ext 文件系統新特性對比 1. 現代文件系統應該有的特性2 1.1. 恢復Log2 1.2. 壓縮2 1.3. Meta ext2 1.4. Fulltextཟsearch 全文2 1.5. Copy 校驗2 1.6. 稀疏文件,這是UNIX類和NTFS等文件系統的一個特性
  • 今天老師說了一個例子,提生面向對象思想,和大家分享下 雙擊可對其評價和評分 相對以前 我們有可能會這樣寫 //定義一個Tool類進行傳值 Tool.name = lv.SelectedItems[0].SubItems[1].Text;//姓名 Tool.pingjia = lv.SelectedI
  • 在程式中建立如下方法。 #region 刷新數據源 /// ///刷新數據源 /// /// dgv that is needed to refresh public void RefreshDataSourceOndgv(DataGridView dgv) ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...