0

我是在 ASP.net 中创建报告的新手,我想知道是否有任何东西可以显示与数据库中存储的数据不同的数据。

这是我的例子。我有一个名为 Active 的列,在 DB 表中,0 表示 Active,-1 表示 InActive。

在我的报告中,当显示列表是否处于活动状态时,我宁愿使用单词 Active 和 Inactive 而不是 0 和 -1。

这会在自定义表达式中找到吗?我不知道从哪里开始...

4

3 回答 3

2

替代解决方案:如果您不想对其建模,那么最简单的方法是更改​​您的数据库查询并在该列为 -1 和 -0 时返回“非活动”和“活动”字符串。如果是 MS SQL Server,您可以通过“CASE WHEN...”来执行此操作。

于 2012-06-22T19:34:26.293 回答
1

如果您将 SSRS 用于报告或 Crystal Reports,则可以在运行时替换文本。在 Crystal Reports 中,您可以使用 IF ... ELSE 条件添加公式字段。

于 2012-06-22T19:07:00.523 回答
0

将您的数据库表建模为类对象表示。例如:

public class MyDataModel
{
    public int Active { get; set; }

    public string ActiveDisplay 
    {
      get 
      {
        return (this.Active==-1) ? "Inactive" : "Active";
      }
    }
}

当您从数据库中获取数据时,创建一个模型集合,该集合将从返回的数据中加载所有行;例如

var myData = new List<MyDataModel>()

您现在可以将此模型对象集合绑定到数据网格并显示“ActiveDisplay”属性而不是“Active”属性。

于 2012-06-22T17:59:55.523 回答