2012-10-11 33 views
0

我已經綁定了我的GridViewSQLDataSource,它工作正常。現在我有一個方法(這種方法是從一個DLL,所以我不能改變它),它返回DataTable,我必須將此DataTable分配到SQLDataSource如何將DataTable分配給SQLDataSource?

我期待這樣的事情

SQLDataSource1.DataSource = MyDataTable; 

我知道有沒有DataSource財產SQLDataSource,但我需要類似這樣的功能。

如果我設置GridView1.DataSource = MyDataTable;然後我鬆的SqlDataSource的所有功能,例如排序,更新等

代碼示例將是有益的。

+2

爲什麼你需要的表在所有分配給SqlDataSource的?你不能直接使用表格作爲GridView的DataSource嗎? –

+0

@Tim Schmelter:我更新了我的問題。如果我可以設置SQLDataSource的DataSource,那麼所有其他功能就緒。 – jams

回答

1

您可以從SqlDataSource更改爲ObjectDataSource。這將允許你打電話給你的方法還是做分頁

你可以閱讀更多關於ObjectDataSourcean more here

<asp:ObjectDataSource 
    SelectCountMethod="GetXXXMethodCount" //a method that return total number of records 
    EnablePaging="true" 
    TypeName="YourBLLFullClassName" 
    SelectMethod="GetXXXMethod" 
    MaximumRowsParameterName="maxRows" 
    StartRowIndexParameterName="startRows" 
    ID="ObjectDataSource1" 
    runat="server"> 
</asp:ObjectDataSource> 
+0

是的,這是一個選項,但是如果我可以設置SQLDataSource的DataSource,那麼所有其他功能都已準備就緒。如果我可以保留'SQLDataSource',那麼它會很好。 – jams

+0

我認爲ObjectDataSource比SQLDataSource更好,因爲您可以使用所有ObjectDataSource都可以使用的中央BLL方法,該方法仍然可以由代碼的其他部分使用。另一方面,SQLDataSource有SQL編寫的標記,它不可移植,只對那個頁面有用 – codingbiz

+0

你確定我仍然可以使用SQLDataSource的所有功能,而不需要對代碼進行任何更改嗎? – jams