Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 两个字段值在运行时绑定到一个xrlabel_C#_Winforms_Devexpress_Xtrareport - Fatal编程技术网

C# 两个字段值在运行时绑定到一个xrlabel

C# 两个字段值在运行时绑定到一个xrlabel,c#,winforms,devexpress,xtrareport,C#,Winforms,Devexpress,Xtrareport,我的报告与数据表绑定。我想在标签中显示两个字段值 private void Form1_Load(object sender, EventArgs e) { using (rptCustomer rpt = new rptCustomer()) { rpt.DataSource = CreateTestData(); rpt.DataMember = CreateTestData().TableName; rpt.xrLabel.

我的报告与
数据表
绑定。我想在标签中显示两个字段值

private void Form1_Load(object sender, EventArgs e)
{
    using (rptCustomer rpt = new rptCustomer())
    {
        rpt.DataSource = CreateTestData();
        rpt.DataMember = CreateTestData().TableName;

        rpt.xrLabel.Text = "[CustomerID] - [CustomerName]"; // it's doesn't work

        //rpt.xrLabel.DataBindings.Add("Text", null, "Customer.CustomerID"); -- it's work

        rpt.xrCustomerID.DataBindings.Add("Text", null, "Customer.CustomerID");
        rpt.xrCustomerName.DataBindings.Add("Text", null, "Customer.CustomerName");
        rpt.xrCustomerAddress.DataBindings.Add("Text", null, "Customer.Address");
        rpt.ShowPreviewDialog();
    }
}

public DataTable CreateTestData()
{
    DataTable dt = new DataTable("Customer");
    dt.Columns.Add("CustomerID");
    dt.Columns.Add("CustomerName");
    dt.Columns.Add("Address");

    for (int i = 1; i <= 10; i++)
    {
        DataRow row = dt.NewRow();
        row[0] = i;
        row[1] = "Customer " + i;
        row[2] = "Address " + i;
        dt.Rows.Add(row);
    }

    return dt;
}
private void Form1\u加载(对象发送方,事件参数e)
{
使用(rptCustomer rpt=new rptCustomer())
{
rpt.DataSource=CreateTestData();
rpt.DataMember=CreateTestData().TableName;
rpt.xrLabel.Text=“[CustomerID]-[CustomerName]”;//它不起作用
//rpt.xrLabel.DataBindings.Add(“Text”,null,“Customer.CustomerID”);--这是工作
添加(“Text”,null,“Customer.CustomerID”);
rpt.xrCustomerName.DataBindings.Add(“Text”,null,“Customer.CustomerName”);
rpt.xrcstomeraddress.DataBindings.Add(“Text”,null,“Customer.Address”);
rpt.ShowPreviewDialog();
}
}
公共数据表CreateTestData()
{
DataTable dt=新的DataTable(“客户”);
dt.列。添加(“客户ID”);
dt.列。添加(“客户名称”);
dt.列。添加(“地址”);

对于(int i=1;i您需要使用
DataSet
对象作为报表的数据源。
下面是一个例子:

using (rptCustomer rpt = new rptCustomer())
{
    var dataSet = new DataSet("TestDataSet");
    var table = CreateTestData();

    dataSet.Tables.Add(table);

    rpt.DataSource = dataSet;
    rpt.DataMember = table.TableName;

    rpt.xrLabel.Text = "[CustomerID] - [CustomerName]"; // Suddenly, it's work.

    //rpt.xrLabel.DataBindings.Add("Text", null, "Customer.CustomerID"); -- It's work too.

    rpt.xrCustomerID.DataBindings.Add("Text", null, "Customer.CustomerID");
    rpt.xrCustomerName.DataBindings.Add("Text", null, "Customer.CustomerName");
    rpt.xrCustomerAddress.DataBindings.Add("Text", null, "Customer.Address");
    rpt.ShowPreviewDialog();
}