首页 > 解决方案 > 如何更改以asp中列出的形式出现的数据列中的数据名称?

问题描述

当页面第一次打开时,我想要的数据在我显示的表格中以控制器端的列表形式获取。当我在列中显示数据时,我想显示我自己输入的值。例如,页面有 6 个列值。一列的值是布尔值。自然,它将值作为“True”或“False”写入表中。如果值为“True”,我希望它读取“Open”,如果值为“False”,我希望它读取“Close”。我该怎么做?

我的 .aspx 代码:

<telerik:GridBoundColumn DataField="PublishOnB2B" HeaderText="Is the product Web On/Off?"
                            FilterControlWidth="100px" AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" AllowFiltering="false"
                            FilterDelay="1500" ShowFilterIcon="false">
                        </telerik:GridBoundColumn>

我的 .aspx.cs 代码:

   protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            products = new LogicRules.B2B.BL_Product().GetAllProductsForSAPUpdate().OrderBy(x => x.ItemName).ToList();
            Session["products"] = products;
            RadGrid1.DataSource = products;
            RadGrid1.DataBind();

        }
    }

这里一列包含布尔值。在列中打印值时,它自然会写为“True”或“False”。如果“True”,我希望它写“Open”,如果“False”写“Close”。我做不到。我怎样才能做到这一点?

标签: c#asp.netasp.net-mvctelerik

解决方案


因为你想改变里面的数据,你必须遍历所有返回的记录DataTable

foreach(DataRow row in dataTable.Rows) //products.Rows 
{
    if((bool) row["columnName"])
    {
        row["columnName"] = "open";
        continue;
    }
    row["columnName"] = "close";
}

ps 这不是大数据的好习惯


推荐阅读