こんにちは、CUSTOMERS で満たされたコンボボックスと、CUSTOMERS で満たされたグリッドビューを含む updatepanel があります (コンボボックスと同じ)。ユーザーがコンボボックスから顧客を選択すると、グリッドビューが更新され、コンボボックスには常にすべての顧客が含まれます。私が抱えている問題は、更新パネルがコンボボックス selectedindexchanged を起動するのは、ユーザーが最初に顧客を選択したときだけであるため、顧客を変更したい場合は何も起こりません。デバッグしてもまったく起動しません。コンボボックスを更新パネルに配置すると機能しますが、遅いです。同じ検索/ドロップダウン/オートコンプリート機能を備えたコンボボックスに代わるものはありますか?
見たい場合は、これが私の現在のコードです
<asp:ComboBox ID="cbCustomer" runat="server" AutoCompleteMode="SuggestAppend"
AutoPostBack="True" DataSourceID="dataSourceCBCust" DataTextField="CUST_NAME"
DataValueField="CUST_NO" MaxLength="0" style="display: inline;">
</asp:ComboBox>
<asp:UpdatePanel ID="upCustomer" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="cbCustomer" EventName ="SelectedIndexChanged" />
<asp:AsyncPostBackTrigger ControlID="gvSiteAddress" EventName ="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<br />
<asp:GridView ID="gvCustomer" runat="server" AllowPaging="True" DataSourceID="dataSourceGVCust"
AutoGenerateColumns="True" DataKeyNames="CUST_NO" Visible="False">
<Columns>
<asp:CommandField ShowSelectButton="True" />
</Columns>
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
バックエンド
Protected Sub cbCustomer_SelectedIndexChanged(sender As Object, e As EventArgs) _
Handles cbCustomer.SelectedIndexChanged
dataSourceGVCust.SelectCommand = _
ConfigurationManager.AppSettings("SelectCustomer") _
& " WHERE CUST_NO LIKE '%" _
& cbCustomer.Text.TrimEnd _
& "%' ORDER BY CUST_NAME"
gvCustomer.Visible = True
End Sub