棒グラフをクリックできるドリルダウン機能を使用しています。新しい子グラフを含む新しいページが開きます。しかし、私が望んでいないのは、新しいウィンドウを開くことです。私が望むのは、子チャートを含むポップアップウィンドウを使用することだけです。fusion-chart Web サイトの例を見たことがありますが、それらは xml 形式を使用しており、その例に従うことができません。これは正常に動作しているコード全体ですが、新しいページを開く代わりに変更する必要があるのは次のとおりです。ポップアップウィンドウを使用するだけです。どうやってやるの?plsは助けて、あなたの時間をありがとう..ここに私のメインページのコードです:
//aspx code
<asp:Literal ID="chart_from_db" runat="server">
</asp:Literal>
//code behind
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
StringBuilder xmlStr = new StringBuilder();
xmlStr.Append("<chart caption='Total Revenue' palette='3' showValues='0' numberPrefix='$' useRoundEdges='1'>");
{
string sqlStatement = "SELECT Category, AvgNumbers FROM Table1";
SqlCommand cmd = new SqlCommand(sqlStatement, con);
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
xmlStr.AppendFormat("<set label='{0}' value='{1}' link='{2}'/>", reader["Category"].ToString(), reader["AvgNumbers"].ToString(), Server.UrlEncode("DrillDown1.aspx?AvgDays=" + reader["Category"].ToString()));
}
xmlStr.Append("</chart>");
reader.Close();
con.Close();
FusionCharts.SetRenderer("javascript");
chart_from_db.Text = FusionCharts.RenderChart(
"FusionChartsXT/Column3D.swf", // Path to chart's SWF
"", // Page which returns chart data. Leave blank when using Data String.
xmlStr.ToString(), // String containing the chart data. Leave blank when using Data URL.
"annual_revenue", // Unique chart ID
"640", "340", // Width & Height of chart
false, // Disable Debug Mode
true); // Register with JavaScript object
}
そして、チャートをクリックすると開く子ページです。
// ASPX code
<div>
<asp:Literal ID="MyChart" runat="server">
</asp:Literal>
//code benind
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
String AvgDays = Request.QueryString["AvgDays"];
StringBuilder xmlStr = new StringBuilder();
xmlStr.Append("<chart caption='Total Revenue' palette='3' showValues='0' numberPrefix='$' useRoundEdges='1'>");
{
string sqlStatement = "select MonthYear, AvgNumbers from Table2 where AvgDays= '" + AvgDays.ToString() + "'";
SqlCommand cmd = new SqlCommand(sqlStatement, con);
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
// Construct the chart data in XML format
xmlStr.AppendFormat("<set label='{0}' value='{1}' link='{1}'/>", reader["MonthYear"].ToString(), reader["AvgNumbers"].ToString());
}
// End the XML string
xmlStr.Append("</chart>");
// Close the result set Reader object and the Connection object
reader.Close();
con.Close();
// Set the rendering mode to JavaScript, from the default Flash.
FusionCharts.SetRenderer("javascript");
// Call the RenderChart method, pass the correct parameters, and write the return value to the Literal tag
MyChart.Text = FusionCharts.RenderChart(
"FusionChartsXT/Column3D.swf", // Path to chart's SWF
"", // Page which returns chart data. Leave blank when using Data String.
xmlStr.ToString(), // String containing the chart data. Leave blank when using Data URL.
"crab", // Unique chart ID
"640", "340", // Width & Height of chart
false, // Disable Debug Mode
true); // Register with JavaScript object
}