2013-06-10 4 views
0

This Graph create when user select his setting first time and save itThis graph form by user save setting Я работаю над диаграммой Asp.Net с использованием языка C#. Я предоставляю пользователю возможность выбирать поля из базы данных и формировать график, также есть возможность сохранить эти настройки с именем и сделать умный список, когда пользователь хочет видеть его сохранить настройки, он просто нажмите и график formd .Но когда пользователь нажимает на имя его сохранить настройки графика не образуют правильно, а также не показывает ось правильно мой код выглядит следующим образом:График Не правильно Правильно

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(); 
    } 

Сетка работает отлично, но на графике нет

+0

Вы хотите сказать, что график не отображается/не отображается правильно? пожалуйста, опишите больше, желательно с снимками экрана и образцами. – Raptor

+0

@ShivanRaptor i upload graph image – Raheel

+0

Я указываю на проблему в своей программе, но я не знаю, как ее решить. SQL_Query - это поле базы данных, где мой запрос был сохранен, когда вы хотите его сохранить в SmartList и присвоить ему любое имя XYZ когда он снова хочет открыть его, он нажимает на него и формирует график, но в Chart codding я определяю значение из имени DropdownList Dd_ListY.SelectedValue, но Query Сохраняет фактическое значение, так как я могу сделать граф из запроса, который был сохранен в БД в столбце SQL_Query .it показывает данные правильно в gridview. Но не в Chart, потому что элемент управления Chart не нашел значение Dd_ListY.Selectedvlaue.Any решение – Raheel

ответ

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

Смежные вопросы