界面開發工具DevExpress WinForms使用教程:Server Mode - 在DataLayoutControl中編輯聚焦的GridView行
下載DevExpress v20.2完整版 DevExpress v20.2漢化資源獲取
DevExpress WinForms能完美構建流暢、美觀且易于使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕松勝任!體驗?點擊下載>>
在這種情況下,標準方法(將GridControl和DataLayoutControl綁定到同一集合)不起作用,因為CurrencyManager不管理服務器模式數據源。此外,除XPServerCollectionSource以外的所有服務器模式數據源都是只讀的。
本文將為大家演示如何使用FocusedRowChanged事件將DataLayoutControl的數據源(XPBindingSource或BindingSource)與已聚焦的行同步。
實現細節
1. 將DataLayoutControl綁定到可視設計器中的數據源。
-
如果您的ORM是XPO,請從工具箱中添加組件。
- 重建項目。
- 在Properties窗口選擇屬性,打開下拉列表,然后選擇適當的XPO類。
- 將XPBindingSource分配給屬性。
-
如果您的ORM是EF或其他庫,請從工具箱中添加組件。
- 重建項目。
- 單擊Project>Add New Data Source菜單項。
- 選擇對象數據源類型,然后單擊Next。
- 在列表中選擇一個適當的類,然后單擊Finish。
- 將BindingSource分配給屬性。
2. 。
3. 選擇GridView并訂閱 事件。
4. 使用FocusedRowChangedEventArgs.Row屬性值檢索聚焦的對象并將其添加到數據源。
XPBindingSource的代碼示例
C#
private void GridView_FocusedRowObjectChanged(object sender, FocusedRowObjectChangedEventArgs e) { XPBindingSource.DataSource = Session.GetLoadedObjectByKey(e.Row); }
Visual Basic
Private Sub GridView_FocusedRowObjectChanged(ByVal sender As Object, ByVal e As FocusedRowObjectChangedEventArgs) XPBindingSource.DataSource = Session.GetLoadedObjectByKey(Of ServerSideGridTest)(e.Row) End Sub
BindingSource的代碼示例
C#
private void GridView_FocusedRowObjectChanged(object sender, FocusedRowObjectChangedEventArgs e) { object obj = DbContext.ServerSideGridTests.Single(e.Row); BindingSource.Clear(); BindingSource.Add(obj); }
Visual Basic
Private Sub GridView_FocusedRowObjectChanged(ByVal sender As Object, ByVal e As FocusedRowObjectChangedEventArgs) Dim obj As Object = DbContext.ServerSideGridTests.Single(e.Row) BindingSource.Clear() BindingSource.Add(obj) End Sub
DevExpress技術交流群2:775869749 歡迎一起進群討論