【问题标题】:AJAX DropDownExtender: How to get the value from a GridView into a TextBox?AJAX DropDownExtender:如何将值从 GridView 获取到 TextBox?
【发布时间】:2013-01-07 04:36:37
【问题描述】:

我有一个 DropDownExtender,它带有一个 TextBox 的 TargetControl 和一个包含 GridView 的 Panel 的 DropDownControl。我正在使用 GridView 以便显示多列,但我愿意接受其他建议。

当用户在 GridView 中选择一行时,我想用 GridView 中特定列的值填充 TextBox。但是,GridView OnSelectedIndexChanged 事件并未在后面的代码中触发。

如您所见,没有真正的代码可言。我不知道要使用什么事件。显然 OnChange/OnSelect 事件适用于其他控件,即 ListBox,只是想知道是否有人对 GridView 有任何成功。

<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>

【问题讨论】:

    标签: asp.net dropdownextender


    【解决方案1】:

    您的问题的解决方案如下:

    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>
    

    代码背后:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-22
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 2014-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多