如何在Crystal Report C#中添加行号

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)

您能告诉我如何添加行号吗?

Jig*_*g12 6

  1. 创建一个新的“运行总计字段”
  2. 为字段命名,例如“RowNo”
  3. 选择一个领域进行总结
  4. 将“摘要类型”设置为“不同计数”
  5. 在“评估”中选择“对于每条记录”
  6. 在“重置”中选择“从不”

    单击“确定”将该字段添加到报告中。 在此输入图像描述


Ank*_*kur 0

使用 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)