如何将DataView转换为ObjectDataSource

时间:2013-12-13 15:36:31

标签: asp.net data-binding sharepoint-2010

我目前正在将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();

1 个答案:

答案 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();
}

希望这有帮助。