2011-07-05 50 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