Devexpress - 重新绑定图表控件错误索引超出范围

时间:2014-05-15 09:52:50

标签: devexpress devexpress-windows-ui

我使用dexexpress chartcontrol并在运行时绑定数据源。

chartControl1.DataSource = ds.Tables[0];
chartControl1.SeriesDataMember = "Task";
chartControl1.SeriesTemplate.ArgumentDataMember = "Resource";
chartControl1.SeriesTemplate.ValueDataMembers.AddRange(new string[] { "Percentage" });
chartControl1.SeriesTemplate.View = new StackedBarSeriesView();

第一次绑定,它工作正常,可以显示图表。 当我单击按钮以使用新行数据重新创建数据集时,它会给我一个错误 chartControl1.DataSource = ds.Tables [0];

我先设置了dataset = new数据集,然后再用新数据填充它。

任何人都知道错了什么。请帮忙。

2 个答案:

答案 0 :(得分:0)

您应该可以按照以下方式执行某些操作:

        this.chartControl1.BeginInit();
        DataTable chartData = this.chartControl1.DataSource as DataTable;


        DataRow row = new DataRow()
        {
            "col1",
            "col2"
        }

        chartData.Rows.Add(row);
        this.chartControl1.RefreshData();
        this.chartControl1.EndInit();

我希望这有用。

答案 1 :(得分:-1)

我发现DevExpress在设置DataSource时偶尔会感到困惑,特别是对现有对象。为了解决这个问题,在将DataSource设置为任何内容之前,我总是首先将其设置为null。从那以后,我没有遇到任何问题。

试一试。