事件函數用法
(aComboBox as ComboBox).SelectionChanged += new SelectionChangedEventHandler((sender, e) => { ... });
2012年8月27日 星期一
2012年8月24日 星期五
LINQ查詢語法
select left join 回傳某個物件並依據關聯物件來設定某些屬性值
====
(from a in newlist
join b in db基本.產品資料檢視 on a.產品序號 equals b.產品編號 into b1
from b in b1.DefaultIfEmpty()
select new { a, b }).Select(a =>
{
a.a.產品名稱 = a.b == null ? a.a.產品名稱 : a.b.產品名稱;
return a.a;
})
※因為是left join,要使用關聯物件的屬性前需要先判斷物件是否為null 避免nullexception
equals 多個屬性
====
寫法有兩種,第一種寫法若有錯誤則必須改用第二種(原因不明)
1. new { 本次盤點.產品編號, 本次盤點.盤點單.倉庫 } equals new { 期初盤點.產品編號, 期初盤點.盤點單.倉庫 }
2. new { a=本次盤點.產品編號, b=本次盤點.盤點單.倉庫 } equals new { a=期初盤點.產品編號, b=期初盤點.盤點單.倉庫 }
group by 多個屬性
====
.GroupBy(a => new { a.銷貨資料.客戶編號, a.產品編號 })
order by 多個屬性
====
.OrderBy(a =>a.客戶編號).ThenBy(a=>a.產品編碼).ThenBy(a=>a.產品序號)
List
====
.Exists(p => ...) // 判斷是否存在特定物件
.Find(p => ...) // 尋找第一個特定物件
IEnumerable<T>
====
.Where(row => ...) // 尋找符合某些條件的row
(from a in 採購單明細Model.取得採購單明細列表(門市代號,採購單號) select a.交貨日期).Distinct() // 找出某個屬性不重複的資料並取出屬性值
.GroupBy(a => a.姓名).Select(a => a.First()) // 找出某個屬性不重複的資料並取出相同群組中第一個物件
從 IEnumerable 轉為 IEnumerable<T> 以便使用 .Where()
====
.Cast( <T>).Where(...)
====
(from a in newlist
join b in db基本.產品資料檢視 on a.產品序號 equals b.產品編號 into b1
from b in b1.DefaultIfEmpty()
select new { a, b }).Select(a =>
{
a.a.產品名稱 = a.b == null ? a.a.產品名稱 : a.b.產品名稱;
return a.a;
})
※因為是left join,要使用關聯物件的屬性前需要先判斷物件是否為null 避免nullexception
equals 多個屬性
====
寫法有兩種,第一種寫法若有錯誤則必須改用第二種(原因不明)
1. new { 本次盤點.產品編號, 本次盤點.盤點單.倉庫 } equals new { 期初盤點.產品編號, 期初盤點.盤點單.倉庫 }
2. new { a=本次盤點.產品編號, b=本次盤點.盤點單.倉庫 } equals new { a=期初盤點.產品編號, b=期初盤點.盤點單.倉庫 }
====
.GroupBy(a => new { a.銷貨資料.客戶編號, a.產品編號 })
order by 多個屬性
====
.OrderBy(a =>a.客戶編號).ThenBy(a=>a.產品編碼).ThenBy(a=>a.產品序號)
List
====
.Exists(p => ...) // 判斷是否存在特定物件
.Find(p => ...) // 尋找第一個特定物件
IEnumerable<T>
====
.Where(row => ...) // 尋找符合某些條件的row
(from a in 採購單明細Model.取得採購單明細列表(門市代號,採購單號) select a.交貨日期).Distinct() // 找出某個屬性不重複的資料並取出屬性值
.GroupBy(a => a.姓名).Select(a => a.First()) // 找出某個屬性不重複的資料並取出相同群組中第一個物件
從 IEnumerable 轉為 IEnumerable<T>
====
.Cast
2012年8月23日 星期四
訂閱:
文章 (Atom)
input 連結 datalist 用程式控制彈出選項
範例: nextTick(() => document.querySelector('input').showPicker()); ※僅支援現代瀏覽器
-
1. 設定檔案下載儲存位置為 C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default\Cache 2. 勾選"下載每個檔案前詢問儲存位置" 3. 針對不要下載的檔案類型於第一...
-
自動設定欄寬 sheet.Cells.AutoFitColumns(3, 20); // 必須設定 min 跟 max 才會正常作用 凍結欄位 sheet.View.FreezePanes(4, 4); 標題列 ws.PrinterSettings.RepeatRo...
-
使用 FreeSpire.XLS ... ep.Save(); using (var workbook = new Workbook()) using (var memStream = new MemoryStream()) { workbook.LoadFromSt...