2017-09-06 8 views
-2

header_text:Last_TermとCurrent_Termを持つSQLからデータを取得しています 選択したドロップダウン値に変更するには、header_textが必要です。ヘッダーテキストが変更されないC#

<asp:DropDownList ID="ENRDropDownList" AutoPostBack="True" OnSelectedIndexChanged="ENRDropDownList_OnSelectedIndexChanged" 
           runat="Server"> 
           <asp:ListItem Text="Fall 2016" Value="20172" /> 
           <asp:ListItem Text="Fall 2015" Value="20162" /> 
           <asp:ListItem Text="Fall 2014" Value="20152" /> 
           <asp:ListItem Text="Fall 2013" Value="20142" /> 
           <asp:ListItem Text="Fall 2012" Value="20132" /> 
           <asp:ListItem Text="Fall 2011" Value="20122" /> 
           <asp:ListItem Text="Fall 2010" Value="20112" /> 
           <asp:ListItem Text="Fall 2009" Value="20102" /> 
          </asp:DropDownList> 

我々は秋2016を選択した場合、Current_Termは2016年秋し、Last_Termは(動的)2015年秋に変更する必要があります変更する必要がありますと仮定します。

これまでのところ、私はこの論理を書いて、それに応じて変更する必要があります。

protected void Page_Load(object sender, EventArgs e) 
    { 

     //List<something> clist = new List<something>();s 
     //clist.Add(new something { cyear = 2016 , pyear = 2015}); 
     if (!Page.IsPostBack) 
     { 

      if (Session["term"] != null) 
      { 
       ENRDropDownList.SelectedValue = Session["term"].ToString(); 
      } 

      caption.Text = "Comparison of Fall Enrollment Numbers - " + ENRDropDownList.SelectedItem; 
      //MyGridView1.Columns[1].HeaderText = clist.Find(new something { cyear = 2015 }); 
      MyGridView1.Columns[2].HeaderText = ENRDropDownList.SelectedItem.Text; 
      MyGridView2.Columns[2].HeaderText = ENRDropDownList.SelectedItem.Text; 
      MyGridView3.Columns[2].HeaderText = ENRDropDownList.SelectedItem.Text; 
      MyGridView4.Columns[2].HeaderText = ENRDropDownList.SelectedItem.Text; 
      MyGridView5.Columns[2].HeaderText = ENRDropDownList.SelectedItem.Text; 
      MyGridView6.Columns[2].HeaderText = ENRDropDownList.SelectedItem.Text; 
      MyGridView7.Columns[2].HeaderText = ENRDropDownList.SelectedItem.Text; 
      MyGridView8.Columns[2].HeaderText = ENRDropDownList.SelectedItem.Text; 
      MyGridView9.Columns[2].HeaderText = ENRDropDownList.SelectedItem.Text; 
      MyGridView10.Columns[2].HeaderText = ENRDropDownList.SelectedItem.Text; 
      MyGridView11.Columns[2].HeaderText = ENRDropDownList.SelectedItem.Text; 

     } 
    } 


    //string drop = Nameofthedropdownlist.Value; 
    // datatable.Coloumn["Current_Term"].ColoumnName= drop; 


    protected void ENRDropDownList_OnSelectedIndexChanged(Object sender, EventArgs e) 
    { 
     caption.Text = "Comparison of Fall Enrollment Numbers - " + ENRDropDownList.SelectedItem; 
     Session["term"] = ENRDropDownList.SelectedValue; 
     MyGridView1.DataBind(); 
     MyGridView2.DataBind(); 
     MyGridView3.DataBind(); 
     MyGridView4.DataBind(); 
     MyGridView5.DataBind(); 
     MyGridView6.DataBind(); 
     MyGridView7.DataBind(); 
     MyGridView8.DataBind(); 
     MyGridView9.DataBind(); 
     MyGridView10.DataBind(); 
     MyGridView11.DataBind(); 

     string dropValue = ENRDropDownList.SelectedItem.Text; 
     string drop = ENRDropDownList.SelectedItem.Value.Remove(4,1); 
     int previousvalue = Convert.ToInt32(drop) - 2; 


     MyGridView1.Columns[1].HeaderText = "Fall " + Convert.ToString(previousvalue); 
     MyGridView2.Columns[1].HeaderText = "Fall " + Convert.ToString(previousvalue); 
     MyGridView3.Columns[1].HeaderText = "Fall " + Convert.ToString(previousvalue); 
     MyGridView4.Columns[1].HeaderText = "Fall " + Convert.ToString(previousvalue); 
     MyGridView5.Columns[1].HeaderText = "Fall " + Convert.ToString(previousvalue); 
     MyGridView6.Columns[1].HeaderText = "Fall " + Convert.ToString(previousvalue); 
     MyGridView7.Columns[1].HeaderText = "Fall " + Convert.ToString(previousvalue); 
     MyGridView8.Columns[1].HeaderText = "Fall " + Convert.ToString(previousvalue); 
     MyGridView9.Columns[1].HeaderText = "Fall " + Convert.ToString(previousvalue); 
     MyGridView10.Columns[1].HeaderText = "Fall " + Convert.ToString(previousvalue); 
     MyGridView11.Columns[1].HeaderText = "Fall " + Convert.ToString(previousvalue); 
     //MyGridView1.Columns[1].HeaderText = dropValue; 
     // MyGridView1.Columns[1].HeaderText = "Fall " + Convert.ToString(previousvalue); 
     MyGridView1.Columns[2].HeaderText = dropValue; 
     MyGridView2.Columns[2].HeaderText = dropValue; 
     MyGridView3.Columns[2].HeaderText = dropValue; 
     MyGridView4.Columns[2].HeaderText = dropValue; 
     MyGridView5.Columns[2].HeaderText = dropValue; 
     MyGridView6.Columns[2].HeaderText = dropValue; 
     MyGridView7.Columns[2].HeaderText = dropValue; 
     MyGridView8.Columns[2].HeaderText = dropValue; 
     MyGridView9.Columns[2].HeaderText = dropValue; 
     MyGridView10.Columns[2].HeaderText = dropValue; 
     MyGridView11.Columns[2].HeaderText = dropValue; 

     //string last_Year_Value = ENRDropDownList.SelectedValue 

     //Console.WriteLine(dropValue); 


    } 

私がコードを実行すると、ページがロードされ、Current_Termのみが選択された年に変更されますが、last_Termは変更されません。

Last_term not changed

しかし、私は別の年を選択すると、その後、Last_Termが変化しています。 これを修正するには、ページが読み込まれたときにlast_termが表示されるようにします。

after i select another year last_term is changing

+0

ページロードからddl変更イベントを呼び出すか(私はそれを示唆しています)、またはすべてを満たす両方の場所で呼び出す関数を作成する必要があります。だから、2つのセクションですべてのグリッドプロパティを実行する代わりに、それを1つのセクションで行います。 – MaCron

答えて

0
MyGridView1.Columns[1].HeaderText = "Fall " + Convert.ToString(previousvalue); 

それが確実にグリッドの列見出しを変更しますHeaderRow.Cells [セルのインデックスを変更する]の.text

MyGridView1.HeaderRow.Cells[1].Text =ddl1.SelectedItem.Value; 

と交換してください。

関連する問題