dot net軟體工程師的筆記

2019年9月30日 星期一

DevExpress Excel SetValue方法介紹

之前的專案 有些DataTable欄位寫入excel cell需要明確轉型,比如數字要轉Decimal ,但如果遇到DBNULL可能就要做一堆判斷或是寫擴充方法處理。

DevExpress有一個方法叫SetValue 例如

worksheet.Rows["5"][i + 1].SetValue(array[i]);

這個就會自動轉成應有的型別,可以省很多工~

 

Oracle中刪除用戶遇到的問題

我建了一個user,並導入了一些資料...,然後我刪除該用戶

出現執行drop user xxx,報錯ORA-01922: 必須指定CASCADE 以刪除'xxx'

問題原因

我那個要刪除的user有和其他設定關聯,CASCADE是用來處理這類問題,同步更新與這個user的關聯。

解決辦法

drop user xxx cascade

 

如何比對兩個DataTable是否相同的正確方法

之前有將兩個資料比對的需求,雖然只要搜索這個關鍵字就能找到很多答案,但很多都是錯的! 感謝這個作者提供正確的程式碼,在現在網路資訊量越來越龐大的情況下,還是自己記錄一下這個寫法比較保險。

比對兩個DataTable是否相同

public bool DataTableTheSame(DataTable Table1, DataTable Table2)
        {
            if (Table1 == null || Table2 == null)
            {
                return false;
            }
            if (Table1.Rows.Count != Table2.Rows.Count)
            {
                return false;
            }
            if (Table1.Columns. Count != Table2.Columns.Count)
            {
                return false;
            }
            for (int i = 0; i < Table1.Rows.Count; i++)
            {
                for (int j = 0; j < Table1.Columns.Count; j++)
                {
                    if (Table1.Rows[i][ j].ToString() != Table2.Rows[i][j].ToString())
                    {
                        return false;
                    }
                }
            }
            return true;
        }

程式來源出處:http://www.pc6.com/infoview/Article_45538.html

DevExpress TextEdit調整文字方向(左右對齊)

剛開始使用DevExpress TextEdit想要選左右對齊會發現怎麼找都找不到,後來翻到有人問了同樣的問題...
https://www.devexpress.com/Support/Center/Question/Details/Q492758/right-align-textedit-text
然後裡面有一段回復...

需要做以下設定

  • 屬性 => Appearance => TextOptions => HAlignament 選 Far
如果靠左就是選擇Near
第一次看到這整個傻眼XDD
以這個脈絡來看DevExpress這個設計大概是以預設靠左為基準點,所以靠右對基準點而言就是推遠一點,靠左就是拉近一點。
這設計還真有創意
傑出的一手

2019年9月29日 星期日

DevExress XtraReports MergeDataRow方法

這個需求是在一個群組內,一個欄位不顯示重複的名稱,通常是處理類似分類品項,如下表動物清單

每個品種會對一個動物(類別)名稱

動物品種
波斯貓
孟加拉貓
伯曼貓
布偶貓
巴哥犬
吉娃娃
馬爾濟斯
博美犬

以下把[動物]欄位的重複名稱去除,讓整個Report重複的資料只顯示一次。

DetailCel.ProcessDuplicatesMode=ProcessDuplicatesMode.SuppressAndShrink;
DetailCel.ProcessDuplicatesTarget = ProcessDuplicatesTarget.Value;

如果用detailCell.ProcessDuplicatesMode = ProcessDuplicatesMode.Merge; 會變成在每一頁都顯示一次

設定後的結果

動物品種
波斯貓
 孟加拉貓
 伯曼貓
 布偶貓
巴哥犬
 吉娃娃
 馬爾濟斯
 博美犬

 

 

 

參考網址資料: https://documentation.devexpress.com/XtraReports/DevExpress.XtraReports.UI.ProcessDuplicatesTarget.enum https://www.devexpress.com/Support/Center/Question/Details/T117746/how-to-use-rowspan-property-to-create-table

DevExpress XtraReport header和footer同頁調整

在工作上遇到XtraReport列印出來的報表,報表內容不管有無佔滿整個版面,Footer總是會跑到下一頁,所以需要做出下列設定

PageHeader設定

  • 屬性 => Behavior => PrintOn => 選 NotWithReportHeader

ReportFooter設定

  • 屬性 => Behavior => PageBreak => 選 AfterBand

NLog實作參考連結

2019年9月28日 星期六

2019年9月15日 星期日

ASP.NET Core開發人員RoadMap


覺得這圖還滿實用的,有些翻成台灣的習慣用語,方便日後閱讀~
點此看未壓縮的圖

  1. Prerequisites
  2. General Development Skills
    • Learn GIT, create a few repositories on GitHub, share your code with other people
    • Know HTTP(S) protocol, request methods (GET, POST, PUT, PATCH, DELETE, OPTIONS)
    • Don't be afraid of using Google, Power Searching with Google
    • Learn dotnet CLI
    • Read a few books about algorithms and data structures
  3. Dependency Injection
    1. DI Containers
    2. Life Cycles
    3. Scrutor
  4. Databases
    1. Relational
      1. SQL Server
      2. PostgreSQL
      3. MariaDB
      4. MySQL
    2. Cloud Databases
    3. Search Engines
    4. NoSQL
  5. Caching
    1. Entity Framework 2nd Level Cache
      1. EFSecondLevelCache.Core
      2. EntityFrameworkCore.Cacheable
    2. Distributed Cache
      1. Redis
      2. Memcached
    3. Memory Cache
  6. Logging
    1. Log Frameworks
    2. Log Management System
  7. Template Engines
    1. Razor
    2. DotLiquid
    3. Scriban
    4. Fluid
  8. Real-Time Communication
    1. SignalR
  9. Object Mapping
  10. API Clients
    1. REST
    2. GraphQL
  11. Good to Know
  12. Testing
    1. Unit Testing
      1. Frameworks
      2. Mocking
      3. Assertion
    2. Behavior Testing
    3. Integration Testing
    4. E2E Testing
  13. Task Scheduling
  14. MicroServices
    1. Message-Broker
    2. Message-Bus
  15. SOLID
  16. Design-Patterns

搜尋此網誌

總網頁瀏覽量

Copyright © John Coding 技術筆記 | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com

T