修改的数据表

本文关键字:数据表 修改 | 更新日期: 2023-09-27 18:26:48

例如,我有这个表

EmployeeName     EmpoyeeID
John Mark        60001
Bent Ting        60002
Don  Park        60003

如何在数据表中显示EmployeeID的前导星号?样品:*60001*60002*60003

  public DataTable ListOfEmployee()
    {
        DataSet ds = null;
        SqlDataAdapter adapter;
        try
        {
            using (SqlConnection myDatabaseConnection = new SqlConnection(myConnectionString.ConnectionString))
            {
                myDatabaseConnection.Open();
                using (SqlCommand mySqlCommand = new SqlCommand("Select * Employee", myDatabaseConnection))
                {
                    ds = new DataSet();
                    adapter = new SqlDataAdapter(mySqlCommand);
                   adapter.Fill(ds, "Users");
                }
            }
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
        return ds.Tables[0];
    }

我需要在crystal报告中显示数据表,并在员工ID 中显示前导星号

public void Employees()
    {
        ReportDocument rptDoc = new ReportDocument();
        Employees ds = new Employees(); // .xsd file name
        DataTable dt = new DataTable();
        // Just set the name of data table
        dt.TableName = "Employees";
        dt = ListOfEmployee(); //This function is located below this function
        ds.Tables[0].Merge(dt);
        string strReportName = "Employees.rpt";
        string strPath = Application.StartupPath + "''Reports''" + strReportName;
        // Your .rpt file path will be below
        rptDoc.Load(strPath);
        //set dataset to the report viewer.
        rptDoc.SetDataSource(ds);
        ReportViewer newReportViewer = new ReportViewer();
        newReportViewer.setReport(rptDoc);
        newReportViewer.Show();
    }

修改的数据表

最简单的不是最好的方法是以该格式获取数据,如果并且仅当它不打算在其他地方使用时。您可以在查询中执行此操作

Select '*'+id,col1,col2,col3 from employee

虽然最好的方法是在使用列值时修改它。但显然,这比简单地在查询中添加更令人头疼。

将其添加到Crystal报告本身中。

类似

"*" & {tblTable.FieldName}

(虽然我记不起Crystal报告的语法了,对不起!)

未经测试,但用以下代码替换函数末尾的return语句应该有效:

DataTable table = ds.Tables[0];
DataTable clonedTable = table.Clone();
clonedTable.Columns["EmployeeID"].DataType = typeof(String);
foreach (DataRow row in table.Rows)
{
    clonedTable.ImportRow(row);
}
foreach (DataRow row in clonedTable.Rows)
{
    row["EmployeeID"] = "*" + row["EmployeeID"].ToString();
}
return clonedTable;

然而,正如其他人所说,我建议在读取数据时将星号添加到行的某个位置,而不是添加到表本身。