我目前正在将SPGridView绑定到DataView。我想使用SPGridView的.DataSourceID属性绑定到ObjectDataSource,以便我可以在我的网格上进行过滤,这对于DataView不起作用(从我读过的内容)。有没有一种从DataView实例化ObjectDataSource的简单方法?我发现了一些相关的问题,但没有一个答案显示足够的代码上下文,以便让我弄清楚如何做到这一点。
以下是我的代码现在的样子以及我要做的事情:
DataSet myDataSet;
myDataSet = populateDataFromDatabaseBasedOnSomeSearchParameters(startDate, endDate);
DataView myGridDataView = myDataSet.Tables[0];
// Somewhere in here convert to an ObjectDataSource so that I can bind using DataSourceID instead and get filtering to work
SPGridView myGridView;
myGridView.DataSource = myGridView;
myGridView.DataBind();
答案 0 :(得分:0)
我不知道在C#中将DataView转换为ObjectDataSource的方法。 但是,您可以对DataView和GridView使用相同的DataSource。
myDataSource.DataSource = someDataSource;
myGridView.DataSource = someDataSource;
myDataSource.DataBind();
myGridView.DataBind();
然后,当您的DataView更改时,更新DataSource并重新绑定GridView。
private void myDataView_OnListChanged(object sender,
System.ComponentModel.ListChangedEventArgs args)
{
//Update the DataSource someDataSource
myGridView.DataBind();
}
希望这有帮助。