【问题标题】:How to rebind datasource to Telerik RadChartView如何将数据源重新绑定到 Telerik RadChartView
【发布时间】:2014-06-13 05:05:54
【问题描述】:

我正在使用 Telerik Rad ChartView 来填充销售信息。我正在使用以下代码 saleHistoryChart.DataSource = saleHistoryDataTable 设置数据源。我有一个重置按钮,当用户点击它时,我想从数据表中重置新数据。

我在表单加载和重置按钮单击事件上都调用了下面显示的 populateGraph() 方法。数据表使用数据库中的新数据正确更新,但图表仍显示旧数据。因此,如何重新绑定或重置图表以包含新数据?

Private Sub populateGraph()
Dim saleHistoryDataTable As DataTable = GETDATA("SQL HERE")
saleHistoryChart.DataSource = saleHistoryDataTable
Exit sub

【问题讨论】:

  • 几乎没有任何代码,我已经从设计师那里得到了一切。只是从 .vb 文件中设置的绑定源。我没有发布 SQL,因为它似乎与问题无关。
  • 你重新绑定更新数据了吗?
  • 是的,每次单击重置按钮时都会设置数据源。
  • chart.dataSource.read(); chart.refresh();
  • 好像没有chart.dataSource.read() 方法我试过chart.refresh() 但没有任何变化。

标签: vb.net telerik telerik-reporting


【解决方案1】:

由于社区成员没有提供解决方案,我在运行时添加了系列,以便我可以使用saleHistoryChart.Series.Clear() 并再次设置系列。比使用直接绑定更多的代码。但这是我能找到的唯一解决方案。

【讨论】:

    【解决方案2】:
    Dim RadChart1 As New RadChart
    Public Sub New()
        InitializeComponent()
        Me.Controls.Add(RadChart1)
    Dim connectionString As [String] = "Integrated Security=SSPI;Persist Security Info=False; Initial Catalog=Northwind;Data Source=.\sqlexpress"Dim selectCommand As String = "SELECT CategoryName, SUM(ProductSales) AS TotalSales FROM [Product Sales for 1997] GROUP BY CategoryName"
        Dim dataAdapter As New SqlDataAdapter(selectCommand, connectionString)
        Dim table As New DataTable()
        dataAdapter.Fill(table)
        RadChart1.DataSource = table
        RadChart1.PlotArea.XAxis.DataLabelsColumn = "CategoryName"
        AddHandler RadChart1.DataBound, AddressOf radChart1_DataBound
    End Sub
    Private Sub radChart1_DataBound(ByVal sender As Object, ByVal e As EventArgs)
        radChart1.Series(0).DataYColumn = "TotalSales"
        ' assign appearance related properties
        radChart1.PlotArea.XAxis.Appearance.LabelAppearance.RotationAngle = 300
        radChart1.PlotArea.XAxis.Appearance.TextAppearance.TextProperties.Color = System.Drawing.Color.BlueViolet
        RadChart1.PlotArea.Appearance.Dimensions.Margins.Bottom = Telerik.Charting.Styles.Unit.Percentage(20)
        RadChart1.PlotArea.Appearance.Dimensions.Margins.Left = Telerik.Charting.Styles.Unit.Percentage(20)`enter code here`
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-14
      • 2012-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多