在RowDataBound上下文中呈现控件以直接插入单元格

时间:2012-02-02 10:32:32

标签: c# visual-web-developer

我正在根据从数据库中查询的信息创建一个无序列表对象。

protected virtual void grdProject_RowDataBound(Object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        BulletedList shipsUL = new BulletedList();
        string[] shipIds = e.Row.Cells[4].Text.Split(',');

        foreach (string ship in shipIds)
        {
            shipsUL.Items.Add(ship.Trim());
        }
    }
}

一旦我创建了我的UL对象,我想将单元格的内容(e.Row.Cells [4])设置为实际的列表对象本身。我已经尝试过使用shipUL.RenderControl的方法,但我对HTMLWriters等的需求感到困惑。我来自PHP背景,这个概念对我来说很奇怪。

感谢。

1 个答案:

答案 0 :(得分:0)

我设法通过简单地将项目符号列表控件添加到单元格子控件来解决此问题:

...
foreach (string ship in shipIds)
        {
            shipsUL.Items.Add(ship.Trim());
        }

e.Row.Cells[4].Controls.Add(shipsUL);
...

这似乎取代了我想要的单元格中的原始文本。