[英]How to reload GridView based on DropDownList selection dynamically
[英]how to dynamically set the value of a cell in gridview based on selection of dropdownlist?
我有一個帶下拉列表和頁腳的文本框的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"));
}
在發表評論后,我已經找到了解決方案。 感謝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 Id=@TaxId", 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"]);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.