Mám DropDownExtender s TargetControlTextBox a DropDownControl panela, ktorý obsahuje GridView. Používam GridView, aby som mohol zobraziť viac stĺpcov, ale som otvorený iným návrhom.
Keď používateľ vyberie riadok v GridView,Rád by som vyplnil TextBox hodnotou z konkrétneho stĺpca v GridView. Avšak udalosť GridView OnSelectedIndexChanged sa nespúšťa v pozadí za kódom.
Ako vidíte, neexistuje skutočný kód, o ktorom by bolo možné hovoriť. Neviem, akú udalosť použiť. Zrejme udalosti OnChange / OnSelect fungujú pre ďalšie ovládacie prvky, t.
<asp:DropDownExtender ID="DropDownExtender2" runat="server"
TargetControlID="TextBox2"
DropDownControlID="Panel1">
</asp:DropDownExtender>
<asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
<asp:Panel ID="Panel1" runat="server" >
<asp:GridView ID="GridView1" runat="server"></asp:GridView>
</asp:Panel>
odpovede:
2 pre odpoveď č. 1Riešenie vášho problému je uvedené nižšie:
Kód ASPX:
> <cc1:DropDownExtender ID="DropDownExtender2" runat="server"
> TargetControlID="TextBox1"
> DropDownControlID="divDataDropdown">
> </cc1:DropDownExtender>
> <asp:TextBox ID="TextBox1" runat="server" AutoCompleteType="None" ></asp:TextBox>
> <div id="divDataDropdown" style="overflow-y:scroll; height:200px;" runat="server" >
> <asp:GridView ID="GridView1" runat="server" onselectedindexchanged="GridView1_SelectedIndexChanged">
> <Columns>
> <asp:CommandField HeaderText="Select Data" ShowSelectButton="True" />
> </Columns>
> </asp:GridView>
> </div>
Kód za:
> public partial class WebForm1 : System.Web.UI.Page
> {
> protected void Page_Load(object sender, EventArgs e)
> {
> List<Employee> lstEmployee = new List<Employee>();
> for (int RowDataIndex = 0; RowDataIndex < 50; RowDataIndex++)
> {
> Employee objEmployee = new Employee();
> objEmployee.Id = RowDataIndex;
> objEmployee.Name = "Employee" + RowDataIndex;
> lstEmployee.Add(objEmployee);
> }
> GridView1.DataSource = lstEmployee;
> GridView1.DataBind();
> }
>
> protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
> {
> TextBox1.Text = GridView1.SelectedRow.Cells[2].Text;
> }
> }
>
> public class Employee
> {
> public int Id { get; set; }
> public string Name { get; set; }
> }