【问题标题】:Problem with Gridview and objectdatasourceGridview 和 objectdatasource 的问题
【发布时间】:2011-07-05 14:12:21
【问题描述】:
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
           SelectMethod="GetObjects" TypeName="ControlPanelMessages">
       </asp:ObjectDataSource>

我需要将两个项目放在一行中。Img 和名称应该在同一行中。

我如何做到这一点?

更新..我可以这样做吗:

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;
}

这是正确的方法吗?

【问题讨论】:

    标签: asp.net gridview objectdatasource


    【解决方案1】:

    您还没有向数据表中添加任何列,您需要这样做

    dt.Columns.Add("Img");
    

    在添加行之前,为您想要的每一列。

    【讨论】:

    • 不,你必须这样做 UserDetailsRow["User"] = item.Img + " " + item.Name;或类似的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多