2012-03-27 29 views
0

我送的XElement我的方法將其轉換爲對象GridView控件不顯示LINQ到對象result

,並導致分配給DataGrid中源(方法返回832對象)

但GridView控件不顯示任何事情

dgv.DataSource = from objselect in Utility.ListXElementToDeclaration(query) 
         select objselect; 
+3

在設置數據源之後是否調用'DataBind()'? – 2012-03-27 11:59:59

+0

添加代碼dgv.DataBind(); – 2012-03-27 12:03:04

+0

dgv.DataBind()不會出現在智能感知中! – 2012-03-27 12:06:30

回答

2
  1. objselect應該有一定的屬性(不域)
  2. dgv.AutoGenerateColumnstrue,或者你應該有一些列的定義
  3. 你可能需要一個List<>dgv.DataSource = (from .. select objselect).ToList();

這不是一個壞主意o使用BindingSource作爲dgv和List之間的中間人。

1

也許強制查詢來執行,通過改變它

dgv.DataSource = (from objselect in Utility.ListXElementToDeclaration(query) 
        select objselect).ToList(); 
0

爲什麼不嘗試查看是否在執行此類操作時返回的對象中有結果。

var x = from objselect in Utility.ListXElementToDeclaration(query) 
        select objselect; 

然後檢查x看看裏面是什麼。也許沒有什麼東西會被返回或linq語句有什麼問題。我有時將linq查詢的結果轉換爲也是這樣的List。

var x = (from objselect in Utility.ListXElementToDeclaration(query) 
        select objselect).ToList(); 
+0

我看到返回的列表,它包含830對象正確的格式, – 2012-03-27 12:18:07

1
DataTable dt = from objselect in Utility.ListXElementToDeclaration(query) 
         select objselect; 

dgv.DataSource = dt; 
dgv.DataBind(); 
+0

不能分配objselect數據表, – 2012-03-27 12:17:55

+0

@HamidrezaShahmoradi嗯。 。有沒有課程設置結果?或任何其他變量? – 2012-03-27 12:22:06