2013-04-26 107 views
0

我在數據庫中有一列,當用戶搜索ID時,我想將其放入表中。我的想法是從查詢結果中建立一個表格。 DB中的行可以有很多null,空字段和true/false。使用Linq對象屬性構建表

我有查詢,如下所示:

var searchQuery = Convert.ToInt32(txt_SearchId.Text); 

var query = (from q in db.tblIncidents 
       where q.Id == searchQuery 
       select q).ToList(); 

我的第一個想法是要檢查查詢中的每個項目,看它是否符合它的類型,如果條件是真的還是假的(其中以往任何時候都需要)然後將其添加到表格中。我感覺好像這是錯誤的方法,表格行有很多列。

foreach (var colitem in query) 
     { 
     if (colitem.victim != false) 
      { 
      headerRow.Cells.Add(thVictim); 
      TableCell tcVictim = new TableCell {Text = colitem.victim.ToString()}; 
      row.Cells.Add(tcVictim); 
      } 
     *** and do the same for each column *** 
     } 

我想要做的就是看是否列is null,如果不將它添加到表中。 所以我做這樣的事情以後。

if(colitem.*property* != nulll) 
    { 
    row = new TableRow(); 
    TableCell c_Text = new TableCell(); 
    TableCell c_Value = new TableCell(); 
    tbl_Results.Rows.Add(row); 
    } 

有沒有一種方法來檢查每個colitem沒有明確將每一個? 數據庫中的所有字段都是空的,我想要顯示。

希望這是有道理的。

+0

爲什麼不使用數據綁定是要快速生成與我們的數據庫表,和過濾結果喜歡你嗎?想。 – devilkkw 2013-04-26 08:47:01

+0

你想檢查所有的列或特定的? – noobob 2013-04-26 08:47:05

+0

檢查所有的列 – StudentRik 2013-04-26 08:47:45

回答

0

首先,盡顯表之前從QueryResult中刪除所有你不想要的數據:

queryResult.RemoveAll(p=> p.Property == null); 
+0

我會在運行查詢後放置這個嗎? – StudentRik 2013-04-26 08:52:38

+0

@StudentRik是的,但在填寫表格之前。 屬性是那些你想檢查 – noobob 2013-04-26 09:29:53