2010-01-27 64 views
2

我以兩種不同的方式將SqlDatasource數據綁定到GridView。ASP.NET GridView SqlDatasource編程數據綁定排序

1)在聲明中的SqlDataSource在.aspx頁面和GridView的DataSourceID屬性設置爲它的ID

2)在代碼中創建的SqlDataSource後面綁定到DataSource屬性

當我使用聲明性方法(1),排序工作正常,沒有任何額外的工作,但如果我在後面的代碼中創建SqlDatasource並嘗試排序,我得到一個異常說'GridView'myGridView'觸發事件排序哪一個'處理'。

我假設在使用第一種方法時會出現某種額外的管道。有沒有人知道datasourceid方法的作用是程序化的方法嗎?如果可能,我想在代碼中複製邏輯。

回答

1

GridView使用DataSourceId屬性檢查是否使用數據綁定,如果不是,則必須處理Sorting事件以進行排序。

你嘗試加入您已編程創建到頁面的控制層次結構(例如成PlaceHolder)的SqlDatasource,然後通過使用DataSourceId屬性綁定的GridView呢?我沒有嘗試這個,但它應該工作。