gpt4 book ai didi

c# - 在 C# 中使用动态数据填充 Crystal Reports 等控件

转载 作者:行者123 更新时间:2023-11-29 14:29:31 25 4
gpt4 key购买 nike

我目前设置了一个系统,用户可以使用 GUI“构建”自己的 SQL 查询。

我需要在 Crystal 报表、报表查看器或 Telerik Reporting 等报表中显示结果。

因为我不知道查询会返回哪些列(因为用户可以完全控制要选择的列),所以我需要知道是否可以在报表中显示这些数据。

所以我的问题是:是否可以在不知道实际要返回/显示哪些列的情况下在报告控件中显示查询结果?又如何?

最佳答案

网络应用程序还是桌面?

我不认为这正是您正在寻找的东西,但在网络应用程序中我之前使用过类似以下内容:

SqlDataReader reader = cmd.ExecuteReader();
List<string> cols = new List<string>();
for (int i = 0; i < reader.FieldCount; i++)
{
cols.Add(reader.GetName(i));
}

StringBuilder sb = new StringBuilder();
sb.Append("<table><tr>");
foreach (string s in cols)
{
sb.Append("<th>"+s+"</th>");
}
sb.Append("</tr>");

while (reader.Read())
{
sb.Append("<tr>");
foreach (string s in cols)
{
sb.Append("<td>"+reader[s]+"</td>");
}
sb.Append("</tr>");

}
sb.Append("</table>");

不知道这是否是最好的方法。它很方便,因为如果您给它一个 Excel 扩展名(包括格式和所有内容),Excel 将打开一个 html 表格,因此您可以轻松地提供在 Excel 中打开选项。

对于桌面,您可以将列添加到数据网格,然后添加行,或者在浏览器窗口中打开 hmtl。

对于经典的 ASP,实际上还有另一个 SO 答案,它正是您所需要的:

https://stackoverflow.com/a/1662143/359135

关于c# - 在 C# 中使用动态数据填充 Crystal Reports 等控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10276934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com