界面開發(fā)工具DevExpress WinForms使用教程:Server Mode - 在DataLayoutControl中編輯聚焦的GridView行
下載DevExpress v20.2完整版 DevExpress v20.2漢化資源獲取
DevExpress WinForms能完美構建流暢、美觀且易于使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業(yè)務數(shù)據(jù),它都能輕松勝任!體驗?點擊下載>>
在這種情況下,標準方法(將GridControl和DataLayoutControl綁定到同一集合)不起作用,因為CurrencyManager不管理服務器模式數(shù)據(jù)源。此外,除XPServerCollectionSource以外的所有服務器模式數(shù)據(jù)源都是只讀的。
本文將為大家演示如何使用FocusedRowChanged事件將DataLayoutControl的數(shù)據(jù)源(XPBindingSource或BindingSource)與已聚焦的行同步。
實現(xiàn)細節(jié)
1. 將DataLayoutControl綁定到可視設計器中的數(shù)據(jù)源。
-
如果您的ORM是XPO,請從工具箱中添加XPBindingSource組件。
- 重建項目。
- 在Properties窗口選擇XPBindingSource.ObjectClassInfo屬性,打開下拉列表,然后選擇適當?shù)腦PO類。
- 將XPBindingSource分配給DataLayoutControl.DataSource屬性。
-
如果您的ORM是EF或其他庫,請從工具箱中添加BindingSource組件。
- 重建項目。
- 單擊Project>Add New Data Source菜單項。
- 選擇對象數(shù)據(jù)源類型,然后單擊Next。
- 在列表中選擇一個適當?shù)念?,然后單擊Finish。
- 將BindingSource分配給DataLayoutControl.DataSource屬性。
2. 檢索字段。
3. 選擇GridView并訂閱FocusedRowChanged 事件。
4. 使用FocusedRowChangedEventArgs.Row屬性值檢索聚焦的對象并將其添加到數(shù)據(jù)源。
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中文網(wǎng),獲取第一手最新產(chǎn)品資訊!
DevExpress技術交流群2:775869749 歡迎一起進群討論