0

このグラフは、ユーザーが最初に設定を選択して保存したときに作成されますユーザー保存設定によるこのグラフ形式私はC#言語を使用してAsp.Netチャートに取り組んでいます。データベースからフィールドを選択してグラフを形成するオプションをユーザーに提供し、これらの設定を名前で保存し、ユーザーが保存設定を表示したいときにスマートリストを作成するオプションもあります彼はクリックしてグラフを作成するだけです。ただし、ユーザーが保存設定グラフの名前をクリックすると、グラフが正しく形成されず、軸が正しく表示されない場合、私のコードは次のとおりです。

protected void btnShowSmartList_Click(object sender, EventArgs e)
{
        string _SmartList ;
        ds = GetDataSet("SELECT [Sql_Query] FROM [DWH_SmartList] WHERE sys_SmartList_No=" + ddSmartQueryList.SelectedValue)   ;
        _SmartList = Convert.ToString(ds.Tables[0].Rows[0]["Sql_Query"]);

        ds.Tables[0].Dispose();
        ds = new DataSet();
        ds = GetDataSet(_SmartList);
        Chart1.DataSource = ds;
        Chart1.Legends.Add("Inspection_Date").Title = "Inspection_Date";
        Chart1.ChartAreas["ChartArea1"].AxisX.Title = Dd_List.SelectedValue;
        Chart1.ChartAreas["ChartArea1"].AxisX.MajorGrid.Enabled = false;
        Chart1.ChartAreas["ChartArea1"].AxisX.MajorTickMark.Enabled = false;
        Chart1.ChartAreas["ChartArea1"].AxisY.MajorTickMark.Enabled = false;
        Chart1.ChartAreas["ChartArea1"].AxisY.MajorGrid.Enabled = false;
        Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.Enabled = false;
        Chart1.ChartAreas["ChartArea1"].AxisX.MinorTickMark.Enabled = false;
        Chart1.ChartAreas["ChartArea1"].AxisY.MinorGrid.Enabled = false;
        Chart1.ChartAreas["ChartArea1"].AxisY.MinorTickMark.Enabled = false;
        Chart1.ChartAreas["ChartArea1"].AxisY.Title = Dd_ListY.SelectedValue;
        Chart1.Series["Series1"].XValueMember = Dd_List.SelectedValue;
        Chart1.Series["Series1"].YValueMembers = Dd_ListY.SelectedValue;
        Chart1.Series["Series1"].LegendText = Dd_ListY.SelectedValue;

        this.GridFormatting();
        Chart1.DataBind();
        //Chart1.BackColor = System.Drawing.Color.White;
        // this.Chart1.ChartAreas["ChartArea1"].AxisY.IsStartedFromZero = false;

        GridView1.SelectedIndex = 0;
        GridView1.DataSource = ds;
        GridView1.DataBind();
    }

グリッドはうまく機能していますが、グラフは機能していません

4

1 に答える 1

0

最初にこの問題を自分で解決します。このコードを使用して、すべての軸のデータベースに値を保存しました

{

    string connectionString = ConfigurationManager.ConnectionStrings["KTConnectionString"].ToString();
    cmd.Connection = con;
    KTDataContext dataContext = new KTDataContext(connectionString);
    DWH_SmartList tbip = new DWH_SmartList();
    tbip.Sql_Query = txtQuery.Text;
    tbip.Y_Axis = Dd_ListY.SelectedValue;
    tbip.Y1_Axis = Dd_ListYSec.SelectedValue;
    tbip.Y2_Axis = Dd_List3.SelectedValue;
    tbip.Y3_Axis = Dd_List4.SelectedValue;
    tbip.Y4_Axis = Dd_List5.SelectedValue;
    tbip.SmartList_Description = txt_SmartList.Text;
    tbip.User_Code = Convert.ToInt32(  Session["UserCode"]); 
    dataContext.DWH_SmartLists.InsertOnSubmit(tbip);
    dataContext.SubmitChanges();
}

次に、次のコードで取得します: {

    string _SmartList,_yaxis,_y1axis,_y2axis,_y3axis,_y4axis,_y5axis;
    ds = GetDataSet("SELECT [Sql_Query],[Y_Axis],[Y1_Axis],[Y2_Axis],[Y3_Axis],[Y4_Axis],[Y5_Axis] FROM [DWH_SmartList] WHERE sys_SmartList_No=" + ddSmartQueryList.SelectedValue)   ;
    _SmartList = Convert.ToString(ds.Tables[0].Rows[0]["Sql_Query"]);

    _yaxis = Convert.ToString(ds.Tables[0].Rows[0]["Y_Axis"]);
    _y1axis= Convert.ToString(ds.Tables[0].Rows[0]["Y1_Axis"]);
    _y2axis = Convert.ToString(ds.Tables[0].Rows[0]["Y2_Axis"]);
    _y3axis = Convert.ToString(ds.Tables[0].Rows[0]["Y4_Axis"]);
    _y4axis = Convert.ToString(ds.Tables[0].Rows[0]["Y4_Axis"]);
    _y5axis = Convert.ToString(ds.Tables[0].Rows[0]["Y5_Axis"]);
    Dd_ListY.SelectedValue = _yaxis ;
    Dd_ListYSec.SelectedValue = _y1axis;
    Dd_List3.SelectedValue = _y2axis;
    Dd_List4.SelectedValue = _y3axis;
    Dd_List5.SelectedValue = _y4axis;
    ds.Tables[0].Dispose();
    ds = new DataSet();
    ds = GetDataSet(_SmartList);
    Chart1.DataSource = ds;
    Chart1.Legends.Add("Inspection_Date").Title = "Inspection_Date";
    Chart1.ChartAreas["ChartArea1"].AxisX.Title = Dd_List.SelectedValue;
    Chart1.ChartAreas["ChartArea1"].AxisX.MajorGrid.Enabled = false;
    Chart1.ChartAreas["ChartArea1"].AxisX.MajorTickMark.Enabled = false;
    Chart1.ChartAreas["ChartArea1"].AxisY.MajorTickMark.Enabled = false;
    Chart1.ChartAreas["ChartArea1"].AxisY.MajorGrid.Enabled = false;
    Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.Enabled = false;
    Chart1.ChartAreas["ChartArea1"].AxisX.MinorTickMark.Enabled = false;
    Chart1.ChartAreas["ChartArea1"].AxisY.MinorGrid.Enabled = false;
    Chart1.ChartAreas["ChartArea1"].AxisY.MinorTickMark.Enabled = false;
    Chart1.ChartAreas["ChartArea1"].AxisY.Title = Dd_ListY.SelectedValue;
    Chart1.Series["Series1"].XValueMember = Dd_List.SelectedValue;
    Chart1.Series["Series1"].YValueMembers = Dd_ListY.SelectedValue;
    Chart1.Series["Series1"].LegendText = Dd_ListY.SelectedValue;



    this.GridFormatting();
    Chart1.DataBind();
    //Chart1.BackColor = System.Drawing.Color.White;
    // this.Chart1.ChartAreas["ChartArea1"].AxisY.IsStartedFromZero = false;




    GridView1.SelectedIndex = 0;
    GridView1.DataSource = ds;
    GridView1.DataBind();

}

また、私のプロジェクトは、サポートのためにthenkを完了し、stackoverflowの専門家とhttp://stackoverflow.comを助けてくれました

于 2013-06-11T08:29:25.897 に答える