C# 如何使用C中的datagridview数据设计报表(.rdlc)#
在我的windows窗体应用程序中,我有一些C# 如何使用C中的datagridview数据设计报表(.rdlc)#,c#,datagridview,rdlc,C#,Datagridview,Rdlc,在我的windows窗体应用程序中,我有一些datagridview,它使用程序所做的计算进行填充。 现在我想设计一个基于datagridviewsdata的报表 通过搜索,我发现要做到这一点,我必须将数据放入数据库表中,然后从数据库中获取数据,然后将它们放入我的C#程序中的数据集,这样我就可以访问这些数据来设计报告 但这种方法也有它自己的问题,比如我的datagridviews有不同类型的数据,比如string或int,问题是如何将它们放入表中 例如,我将datagrid转换为datatabl
datagridview
,它使用程序所做的计算进行填充。
现在我想设计一个基于datagridviews
data的报表
通过搜索,我发现要做到这一点,我必须将数据放入数据库
表中,然后从数据库
中获取数据,然后将它们放入我的C#程序中的数据集
,这样我就可以访问这些数据来设计报告
但这种方法也有它自己的问题,比如我的datagridviews
有不同类型的数据,比如string或int,问题是如何将它们放入表中
例如,我将datagrid转换为datatable,如下所示:
private DataTable GetDTFromDGV(DataGridView dgv)
{
var dt = new DataTable();
foreach (DataGridViewColumn column in dgv.Columns)
{
if (column.Visible)
{
dt.Columns.Add();
if (column.Name != "")
{
dt.Columns[column.Index].ColumnName = column.Name;
}
}
}
object[] CellValue = new object[dgv.Columns.Count];
foreach (DataGridViewRow row in dgv.Rows)
{
for (int i = 0; i < row.Cells.Count; i++)
{
CellValue[i] = row.Cells[i].Value;
}
dt.Rows.Add(CellValue);
}
return dt;
}
这是唯一的办法吗?
对于这种情况,设计报表的最佳方法是什么什么特定语法错误?还是仅仅是简单的语法错误?此外,在处理查询时,您应该始终添加一个参数,这是一个良好的做法。不,这不是唯一的办法。您可以直接将数据集传递给报表。@P.Pat INSERT INTO语句中的语法错误。@Reniuz我正在使用access数据库,在foreach循环中,我应该如何使用参数?这是如何传递数据和动态创建报表的起点。
using (OleDbCommand Cmd = new OleDbCommand())
{
Cmd.Connection = Connection;
Cmd.CommandText = "Delete * From rAnimalPerformance";
Cmd.ExecuteNonQuery();
foreach (DataRow Dr in cAnimalPerformancedt.Rows)
{
Cmd.CommandText = @"Insert Into rAnimalPerformance (Val, Desc)
Values ("
+ "'" + Dr["Val"] + "', '"
+ Dr["Desc"] + "')";
Cmd.ExecuteNonQuery();
}
}