2011-07-05 45 views
0
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
      SelectMethod="GetObjects" TypeName="ControlPanelMessages"> 
     </asp:ObjectDataSource> 

我需要的是將兩個項目放在一行中。圖像和名稱應該在同一行。Gridview和objectdatasource問題

我該如何做到這一點?

Update..can我這樣做:

的DataRow NEWROW = table.NewRow();

// Set values in the columns: 
newRow["Img"] = "NewCompanyImage"; 
newRow["Img"] = "NewCompanyName"; 

它會把兩個值放在同一行嗎?

那是我做了什麼:

public DataSet GetObjects() 
{ 
    DataSet ds = new DataSet(); 
    DataTable dt = new DataTable(); 
    var source = from p in CommentsList 
       select new { p.Img, p.Name, p.Comment }; 
    dt.Columns.Add("User"); 
    dt.Columns.Add("Comment"); 

    foreach (var item in source) 
    { 
     DataRow UserDetailsRow=dt.NewRow(); 
     UserDetailsRow["User"] = item.Img; 
     UserDetailsRow["User"] = item.Name; 
     UserDetailsRow["Comment"] = item.Comment; 
     // dt.Rows.Add(new object[] { item.Img, item.Name, item.Comment }); 
    } 
    ds.Tables.Add(dt); 
    return ds; 
} 

這是正確的方式?

回答

0

您沒有添加到數據表中的任何列的是,你需要爲你在那裏要添加行之前,每一列做

dt.Columns.Add("Img"); 

+0

我可以做以上...看看更新 –

+0

不,你必須做UserDetailsRow [「User」] = item.Img +「」+ item.Name;或類似的東西。 – DoctorMick