【问题标题】:How to bind data from database into tooltip of a chart point如何将数据库中的数据绑定到图表点的工具提示中
【发布时间】:2014-09-11 02:22:31
【问题描述】:

我想在鼠标悬停时将数据库中的一些信息显示到工具提示中。如何将数据库中的信息显示到图表的工具提示中? 数据将基于数据库表。 我试图输入列名,但它也产生了错误。 我也看过这个网站:http://blogs.msdn.com/b/alexgor/archive/2008/11/11/microsoft-chart-control-how-to-using-keywords.aspx 没有将数据库中的数据绑定到工具提示的格式。 我只是想知道是否可以这样做?

这是我尝试过的:

<asp:Series ChartType="Line" Name="Series1" Legend="Legend1" LegendText="colummn1" ToolTip="Value of X: #VALY Value of Y #VALY">
            </asp:Series>

它显示 x 和 y 值...

我也试过把代码放在图表里,

Chart1.Series("Series1").ToolTip = "Tooltip: #column1"

它只显示 'Tooltip: #column1'...而不是 column1 的值....

一些代码:

    Protected Sub Chart1_Load(sender As Object, e As EventArgs) Handles Chart1.Load
    Dim sqlProducts As String = "Select P, R, L, Column1 from tbl_Name"
    Dim da As New SqlDataAdapter(sqlProducts, conn)
    Dim ds As New DataSet()
    da.Fill(ds, "tbl_name")

    Dim ChartArea1 As ChartArea = New ChartArea()
    Dim Legend1 As Legend = New Legend()
    Dim Series1 As Series = New Series()

    Series1.ChartArea = "ChartArea1"
    Series1.Legend = "Legend1"
    Chart1.TabIndex = 0
    Chart1.Series("Series1").XValueMember = "L"
    Chart1.Series("Series1").YValueMembers = "P"
    Chart1.Series("Series2").YValueMembers = "R"
    Chart1.Series("Series1").ToolTip = "Tooltip: " + "Column1"
    Chart1.ChartAreas(0).AxisY.LabelAutoFitMaxFontSize = "10"
    Chart1.ChartAreas(0).AxisX.LabelAutoFitMaxFontSize = "7"
    Chart1.DataSource = ds.Tables("tbl_name")

提前谢谢..

【问题讨论】:

    标签: c# asp.net vb.net mschart


    【解决方案1】:

    你应该这样做

    Chart1.Series("Series1").ToolTip = "Tooltip: " + <Value From DB as string>;
    

    否则,当您将鼠标悬停在图表中的某个点上时,以下将显示您的点 (x, y)。

    Chart1.Series("Series1").ToolTip =  "Value of X: #VALY Value of Y #VALY"; 
    

    更新

    现在您已经给出了背后的代码,很容易回答您的问题 :) 这样做

    Chart1.Series("Series1").ToolTip = "Tooltip: " + ds.Tables("tbl_name").Rows(1).Column1.ToString()
    

    这只会显示第一行的 Column1 值

    【讨论】:

    • 我应该在 处添加另一个 sql 语法,还是只从我已经调用过的 sql 列中获取它,例如:我已经调用了一个 sql 语法 select column1, column2 ,第 3 列,我想在工具提示上添加第 3 列...
    • 是的,您应该将“”替换为您的 DB 列值 :)
    • 我已经尝试了第二个建议并且它有效,,,但这不是我想要的......我希望它显示来自另一列的信息,,,请参见上面的编辑代码.. .
    • 查看我的更新答案。您应该学习如何从数据集中获取值。阅读有关该主题的信息。你不能只说“Column1”。编译器不知道您指的是列。它只是编译器的一个字符串。您应该按照 ADO.Net 语法来检索值。上面的示例显示了如何从第 1 行检索值。如果需要显示所有值,则必须遍历数据集。
    • 好的,然后输入 ds.Tables("tbl_name").Rows(1).Item("Column1")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多