前言
最近需要將原本從資料庫取出的資料再加入額外的欄位,並給預設值。但是預設值卻沒有顯示出來,是什麼原因呢?
解法
我們的程式寫法如下,
1 | //取得原始的資料 |
先加入欄位,並設定 DataColumn.DefaultValue ,結果呈現如下,
![[DataColumn.DefaultValue 無效]](/2018/07/20/2018026/001.png)
因為我們是先將欄位加入,才設定值,所以它會沒有效。
所以如果這時,我們再加入一筆新的資料,它就會有效果,如下,
1 | //取得原始的資料 |
![[新增的 DataRow DataColumn.DefaultValue 有效]](/2018/07/20/2018026/003.png)
所以,要讓 DataColumn.DefaultValue 一開始就要有效,就需要在建立 DataColumn 時,就指定它的預設值,如下,
1 | //取得原始的資料 |
![[先新增 DataColumn, DataColumn.DefaultValue 有效]](/2018/07/20/2018026/002.png)
雖然多一行,但是 DataColumn.DefaultValue 有效了哦! :)
1 | private DataTable GetDataSource() |