2017-07-22 4 views
0

私はフッターのドロップダウンとテキストボックスを持つgridviewを持っています。私のドロップダウンリストはTaxという名前のテーブルにバインドされています。必要条件は、テキストボックスの値をドロップダウンの税名の選択に対応するように設定することです。私は正常にドロップダウンリストをバインドしたが、関連する値に設定するテキストボックスの値を取得することはできません。ドロップダウンリストの選択に基づいて、グリッドビュー内のセルの値を動的に設定する方法はありますか?

DropDownList ddlTax = (DropDownList)TaxGV.FooterRow.FindControl("Footer_ddlTaxName"); 

     //fill the dropdown 
     FillDropDownListTaxName(ddlTax); 


public void FillDropDownListTaxName(DropDownList ddl) 
    { 
     string str = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString; 
     SqlConnection con = new SqlConnection(str); 
     con.Open(); 
     SqlCommand cmd = new SqlCommand("Select Id, Name from Taxes", con); 
     cmd.CommandType = CommandType.Text; 
     ddl.DataSource = cmd.ExecuteReader(); 
     ddl.DataTextField = "Name"; 
     ddl.DataValueField = "Id"; 
     ddl.DataBind(); 
     ddl.Items.Insert(0, new ListItem("--Select--", "0")); 
    } 

ここでもう少し問題は、ドロップダウンで値を選択すると、関連する値をフッターテキストボックスに表示する方法です。 誰でも助けます。 enter image description here

+0

JavaScriptまたはラウンドトリップでサーバーに送信しますか? –

+0

ドロップダウンリストの索引付きイベントを選択しましたか?ドロップダウンリストから選択した値を取得し、テキストボックスに設定することができます。 –

+0

@ GarrGodfreyサーバーへの往復としてやりたい –

答えて

0

私は解説を行った後、解決策を見つけました。 Chetan Ranpariyaに感謝します。答えは私の発見です。

protected void Footer_ddlTaxName_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     string str = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString; 
     SqlConnection con = new SqlConnection(str); 
     con.Open(); 
     SqlCommand cmd = new SqlCommand("Select Value from Taxes where [email protected]", con); 
     DropDownList ddl_Tax = (DropDownList)TaxGV.FooterRow.FindControl("Footer_ddlTaxName"); 
     cmd.Parameters.AddWithValue("@TaxId", ddl_Tax.SelectedValue); 
     SqlDataReader reader = cmd.ExecuteReader(); 
     TextBox tb_Value = (TextBox)TaxGV.FooterRow.FindControl("Footer_txtValue"); 
     if(reader.Read()) 
     { 
      tb_Value.Text = Convert.ToString(reader["Value"]); 
     } 
    } 
関連する問題