close

前一篇文章提到,可以將DataTable直接丟給GridView去顯示抓回來的資料。但這樣會有個問題,由於GridView是在runtime時才知道有哪些欄位,所以欄位的顯示名稱預設是抓資料表上的欄位名稱。假如想更改顯示名稱,可以用下列的程式碼去做。
mysqlDataSet.boardtableDataTable dataTable = adapter.GetData();
dataTable.Columns[0].ColumnName = "識別碼";
dataTable.Columns[1].ColumnName = "暱稱";
dataTable.Columns[2].ColumnName = "內容";
這樣顯示出來就不會只是單純的資料表欄位名稱,但還是會有一個問題,這些動作其實不應該用程式去控制,沒必要而且也不方便。這種情況就可以用ObjectDatasource去解決。ObjectDataSource其實可以想做是Proxy Pattern,它負責把資料送給GridView,但GridView不會知道這些資料是怎麼來的,因為那是ObjectDataSource的責任,它只要負責顯示出來就好。現在,就開始動手做吧!文章示範的內容,是延續前一篇文章的程式碼。在這邊先新增一個ObjectDataSource,然後設定它的資料來源
資料來源選擇之前建好的DataTableAdapter,之後再選擇函式,這裡選擇GetData
接下來再設定GridView的資料來源,把ObjectDataSource設定給它,然後再點選「編輯資料行」。
在每個欄位的HearderText屬性設定想要顯示的名稱,之後再按下確定。
之後,在編輯畫面就可以看到設定好的名稱。
執行結果如下,整個過程就是這麼簡單。
全站熱搜