TOP

[C#]3.5以下的版本GridView無資料時顯示Header


VS2008為 .Net 3.5版本,還沒有支援GridView無資料時顯示Header的屬性
利用障眼法的方式達成相同功能,雖然不是很好,但比較簡單。

1.建立一個新的DataTable
            DataTable dtDataTemp = new DataTable();
            dtDataTemp.Columns.Add("名稱");
            dtDataTemp.Columns.Add("名稱");

2.建立一個新的DataView 並且設定來源為DataTable
            DataView dvDataTemp = dtDataTemp.DefaultView;

3.設定一筆新的DataRow 資料
            DataRow oDR = dvDataTemp.Table.NewRow();

4.允許資料列的欄位可以是DBNULL值
            foreach (DataColumn item in oDR.Table.Columns)
            {
                item.AllowDBNull = true;
            }

5.Datatable 加入資料列
            dvDataTemp.Table.Rows.Add(oDR);

6.GridView設定來源資料及DataBind
            GridView1.DataSource = dvDataTemp;
            GridView1.DataBind();

7.隱藏第一筆資料
            GridView1.Rows[0].Visible = false;

參考資料:
http://kuomingwang.blogspot.tw/2010/03/c-datatable-datagridview.html
http://stackoverflow.com/questions/2040107/show-header-of-a-empty-gridview-for-datasource-is-listdata
http://blog.sina.com.tw/jspcity/article.php?pbgid=55389&entryid=576147
http://www.dotblogs.com.tw/atowngit/archive/2010/08/12/17160.aspx

0 意見:

張貼留言