Kim*_*ero 5 c# asp.net visual-studio-2010 crystal-reports
我已经开始使用创建报表crystal reports。我可以使用dataset和显示sql除以外的所有内容auto-row numbering。
这是我的代码:
SqlConnection cnn;
string connectionString = null;
string sql = null;
connectionString = "data source=Kim; initial catalog=DBO;user id=sa; password=passw0rd";
cnn = new SqlConnection(connectionString);
cnn.Open();
sql = "select Name as DataColumn1, Age as DataColumn2, from tbl1";
SqlDataAdapter dscmd = new SqlDataAdapter(sql, cnn);
cnn.Close();
DataSet2 ds = new DataSet2();
dscmd.Fill(ds, "DataTable2");
CrystalReport1 objRpt = new CrystalReport1 ();
objRpt.SetDataSource(ds.Tables[0]);
CrystalReportViewer1.ReportSource = objRpt;
CrystalReportViewer1.RefreshReport();
Run Code Online (Sandbox Code Playgroud)
报告结果如下:
No Name Age
Kim 22
Ian 29
Aris 27
Run Code Online (Sandbox Code Playgroud)
需要显示如下报告:
No Name Age
1 Kim 22
2 Ian 29
3 Aris 27
Run Code Online (Sandbox Code Playgroud)
您能告诉我如何添加行号吗?
在“重置”中选择“从不”
单击“确定”将该字段添加到报告中。

使用 datatable 并获取 DS.tables[0].rows.count 并在内部获取一个计数,该计数随着每次循环迭代而递增。
DataTable tab_lvl = new DataTable();
tab_lvl.Columns.Add(new DataColumn("NO", typeof(string)));
tab_lvl.Columns.Add(new DataColumn("Name", typeof(string)));
tab_lvl.Columns.Add(new DataColumn("AGE", typeof(string)));
tab_lvl.Columns.Add(newDataColumn("Allot_Asset_Code",typeof(string)));
int count;
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
count++;
DataRow dr = tab_lvl.NewRow();
dr["NO"] = count;
dr["NAME"] = ds.Tables[0].Rows[i]["COLname/number"];
dr["AGE"] = ds.Tables[0].Rows[i]["COLname/number"];
}
//bind the datatable to the report
objRpt.SetDataSource(tab_lvl);
Run Code Online (Sandbox Code Playgroud)