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

私が必要とするのは、2つのアイテムを1つの行に配置することです。Imgと名前は同じ行になければなりません。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