2010-11-12 58 views
3

我有一個DevExpress xtraGrid,我想綁定。當我嘗試綁定時,編譯器提供了一個錯誤,即gridView數據源是隻讀的。我嘗試下面的方法,我的代碼是爲什麼網格變成只讀?如何避免只讀網格問題?

NorthwindDataContext db = new NorthwindDataContext(); 
var r = from p in db.Orders 
     select p; 
var r2 = from p in db.Order_Details 
     select p; 

gridView1.DataSource = r; 
gridView2.DataSource = r2; 

我得到以下錯誤: 屬性或索引「DevExpress.XtraGrid.Views.Base.BaseView.DataSource」不能被分配到 - 它是隻讀

我檢查了我在gridView上的列屬性,它不是隻讀的。爲什麼我得到這個錯誤?其實我的網格是空的,我要將它綁定到數據庫。

回答

6

您需要設置控制您GridViewGridControlDataSource,而不是在GridView本身。

從DevExpress的站點:How to: Bind a Control to a Database at Runtime

+0

感謝help.my網格需要顯示Master的詳細關係。假設我使用的是Northwind數據庫。我有三個表顧客,Order,Order_details.I想在我的網格中顯示這個關係表的值。如何到 – shamim 2010-11-12 16:37:22

+0

@Shamim, DevExpress支持master-detail表格,文檔位於http://documentation.devexpress.com/#WindowsForms/CustomDocument3473。如果遇到任何困難,您應該閱讀併發布具體問題。 – dsolimano 2010-11-12 18:24:09

0

默認情況下,XtraGrid中會認識到你的關係,併爲子表克隆的看法。如果你想改變視圖選項(隱藏列,改變格式等等),你可以定義你自己的GridViews,但是這需要你設置GridControl的LevelTree屬性。