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

搜尋此網誌

總網頁瀏覽量

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

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com

T