簡體   English   中英

帶有嵌入式 LinqDataSource/ObjectDataSource 的 asp GridView

[英]asp GridView with embedded LinqDataSource/ObjectDataSource

我想要做的是繼承 GridView 並以編程方式將 LinqDataSource 嵌入其中。 這樣做的原因是我想要一個通用的網格視圖,它允許列和網格屬性的標記定義,但它實現了一個 GetDataSourceEvent,它將傳遞 sortExpression、尋呼機頁面索引和尋呼機行數以進行高效的模型查詢。 后者將通過訂閱 DataSourceControl 的 Selecting 事件來完成。

我遇到的問題是,如果我將 LinqDataSource 添加到 UserControl,則無法找到 DataSourceId。 我嘗試了 OnInit 和 ensureChildControls 來創建 LinqDataSource,但沒有運氣。 我已經看到了一些關於如何通過繼承 gridview 創建自定義尋呼機的示例,但我似乎無法找到適合我的情況的事件。

任何人都可以指出我在嘗試以編程方式添加 DataSourceControl 並將 GridView DataSourceId 分配給它的正確方向嗎?

您可以創建一個接受您的數據源類型的公共方法。 然后,當您創建用戶控件類的實例時,綁定到該方法。 例如,如果您使用字符串列表作為數據源並且有一個名為 myUserControl 的用戶控件:

Partial Class user_controls_myUserControl
    Inherits System.Web.UI.UserControl


    Public Sub bindMyData(ByVal myDataSource As List(Of String))
      'bind stuff here
    End Sub

End Class

這將被稱為這樣:

dim myListOfString as new list(of String)
Me.myUserControl1.bindMyData(myListOfString)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM