{ get; set; }とは
メンバ変数の値の取得や変更を行う為のメソッド(アクセサー)
クラス内での変数定義に利用
こんな感じで利用する
public string id { get; set; }
public string title { get; set; }
public string message { get; set; }
public string navi_url { get; set; }
public string navi_title { get; set; }
{ get; set; }つけないと
listを作成して
datagrid.ItemSource に指定しても
DataGrid.ItemsSource = messageList;
カラムに何も表示されない。
DataTableでデータを取得し、これをリストのプロパティに格納しても反映されないんだな。
foreach(DataRow dr in dt.Rows)
{
var m = new message();
if (dr["id"] != DBNull.Value) m.id = (string)dr["id"];
if (dr["title"] != DBNull.Value) m.title = (string)dr["title"];
if (dr["message"] != DBNull.Value) m.message = (string)dr["message"];
if (dr["navi_title"] != DBNull.Value) m.navi_title = (string)dr["navi_title"];
if (dr["navi_url"] != DBNull.Value) m.navi_url = (string)dr["navi_url"];
li.Add(m);
}
この状態でもイミディエイトウィンドウでlistに設定された要素を表示させると
li[0].id
"7gA9QBUZNXZMAQm7bhpJsJASIK32kEvR"
ちゃんと値としては格納されている
のに、dataGrid.ItemSourceにリストを指定すると、ちゃんと表示されない
{ get; set; }つけると
{ get; set; }をつけると
public string id { get; set; }
public string title { get; set; }
public string message { get; set; }
public string navi_url { get; set; }
public string navi_title { get; set; }
これがちゃんと機能してデータが表示されるようになる
DataGrid.ItemsSource = messageList;
コメント