2010-01-27 28 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呢?我没有尝试这个,但它应该工作。