iT邦幫忙

DAY 15
5

Kuick Hands on Labs系列 第 15

Kuick Hands on Labs -- 15. 資料列表基本條件

  • 分享至 

  • xImage
  •  

一般化的資料列表頁有 3 個必要參數:

  1. EntityName:指定處理的 Entity 名稱
  2. PageSize:每頁資料筆數
  3. PageIndex:目前資料頁碼
    先不特別指定CSS,也先不處理顯示欄位與修刪連結,而是從如何選取資料,以及取出所有欄位的值開始說明。

1. 取出某個Entity特定分頁的資料集合
一般化的後台,都是採行設計期未知的情況實作,所以無法使用泛型指定 Entity 類型,而是以字串參數在執行期指定 Entity 名稱。分頁資料最簡單的選取方式,除了以字串參數指定 Entity 名稱來建立 Sql 物件之外,再透過 Paging 方法指定每頁筆數與頁碼即可。

List<IEntity> instances = Entity
	.Sql(EntityName)             // 建立 Sql 物件
	.Paging(PageSize, PageIndex) // 資料分頁處理
	.Query();

2. 列出某個Entity的欄位集合
上一篇說明 Entity 規格快取機制,如果需要取得特定 Entity 的規格,在設計期未知的情況下,只需呼叫EntityCache 的Get方法,並傳入字串參數指定 Entity 名稱即可。Entity 提供 Columns 屬性回傳欄位定義集合,詳細的資料結構請參照原始檔 Kuick.Data.Column 類別。

IEntity schema = EntityCache.Get(EntityName); // Entity 規格定義
foreach(var column in schema.Columns) {
	// todo ...
}

3. 取出某筆資料特定欄位的值
Entity 為設計期未知的情況下,提供一組資料設定與讀取的方法,處理時除了傳入該欄位的值之外,再額外以字串參數或是 Column 物件指定欄位名稱即可,讀取的值以 object 型態傳出,設定時也是以 object 型態傳入,只是需要特別注意資料型態是否相符,這個細節會在稍後裡說明處理方法。

// 取值:Entity.GetValue
object value = instance.GetValue(column);
 
// 存值:Entity.SetValue
instance.SetValue(column, "新的資料");

上一篇
Kuick Hands on Labs -- 14. Entity 規格快取
下一篇
Kuick Hands on Labs -- 16. 優化列表資料
系列文
Kuick Hands on Labs30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0

我要留言

立即登入留言