Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ASP.net报表中显示数据_Asp.net_Vb.net_Sql Server 2008_Crystal Reports_Report - Fatal编程技术网

在ASP.net报表中显示数据

在ASP.net报表中显示数据,asp.net,vb.net,sql-server-2008,crystal-reports,report,Asp.net,Vb.net,Sql Server 2008,Crystal Reports,Report,我不熟悉在ASP.net中创建报告,我想知道是否有任何东西可以显示与数据库中存储的数据不同的数据 这是我的例子。我有一个名为Active的列,在DB表中,0表示Active,-1表示InActive 在我的报告中,当显示一个列表是否处于活动状态时,我宁愿使用Active和Inactive,而不是0和-1 这会在自定义表达式中找到吗?我不确定从哪里开始…将db表建模为类对象表示。例如: public class MyDataModel { public int Active { get;

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

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

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


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

将db表建模为类对象表示。例如:

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

    public string ActiveDisplay 
    {
      get 
      {
        return (this.Active==-1) ? "Inactive" : "Active";
      }
    }
}
当您从数据库中获取数据时,创建一个模型集合,该集合将加载返回数据中的所有行;e、 g

var myData = new List<MyDataModel>()
var myData=new List()

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

将db表建模为类对象表示形式。例如:

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

    public string ActiveDisplay 
    {
      get 
      {
        return (this.Active==-1) ? "Inactive" : "Active";
      }
    }
}
当您从数据库中获取数据时,创建一个模型集合,该集合将加载返回数据中的所有行;e、 g

var myData = new List<MyDataModel>()
var myData=new List()

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

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

如果您使用SSR报告或Crystal报告,则可以在运行时替换文本。在Crystal Reports中,您可以添加公式字段,如果。。。其他条件。

替代解决方案: 如果您不想对其建模,那么最简单的方法是更改db查询,并在该列为-1和-0时返回“Inactive”和“Active”字符串。如果是MS SQL Server,则可以通过“CASE-WHEN…”完成此操作

替代解决方案:
如果您不想对其建模,那么最简单的方法是更改db查询,并在该列为-1和-0时返回“Inactive”和“Active”字符串。如果是MS SQL Server,则可以通过“CASE-WHEN…”完成此操作

有没有一种方法可以用表达式来实现这一点?类似于=Iif(Fields!Active.Value==0,Fields!Active.Value=“Active”)的内容不确定表达式的含义。如果您不想对其建模,那么最简单的方法是更改db查询,并在该列为-1和-0时返回“Inactive”和“Active”字符串。如果是MS SQL Server,您可以通过“CASE-WHEN…”完成此操作。谢谢!我只是抬头看了看,然后用CASE做了,效果很好!你有没有办法把这个解决方案作为一个答案重新发布,这样我就可以一个一个地检查它?有没有一种方法可以用表达式来做到这一点?类似于=Iif(Fields!Active.Value==0,Fields!Active.Value=“Active”)的内容不确定表达式的含义。如果您不想对其建模,那么最简单的方法是更改db查询,并在该列为-1和-0时返回“Inactive”和“Active”字符串。如果是MS SQL Server,您可以通过“CASE-WHEN…”完成此操作。谢谢!我只是抬头看了看,然后用CASE做了,效果很好!你能不能把这个解决方案作为一个答案重新发布,这样我就可以把它选中?不幸的是,我没有使用Crystal Reports。我使用的是我公司现有的一个遗留系统……如果您只是在GridView控件上显示,您只需在填充网格时替换单元格值即可。为此,请在GridView的RowCreated事件中编写替换代码。不幸的是,我没有使用Crystal Reports。我使用的是我公司现有的一个遗留系统……如果您只是在GridView控件上显示,您只需在填充网格时替换单元格值即可。为此,在GridView的RowCreated事件中编写替换代码。