次のコードを使用して、一致したテキストを自動的に表示する(フィルタリング)ために、Ajaxリクエストを使用してコンボボックスストアの値を1つのサービスで埋めています
<ext:ComboBox ID="cbManager" runat="server" DisplayField="FirstName"
LabelAlign="Right" ValueField="EmployeeID" AllowBlank="false"
HideTrigger="true" MinChars="1" FieldLabel="* Manager" >
<ext:Store ID="storeManager" runat="server" AutoLoad="false">
<Proxy>
<ext:AjaxProxy Url="~/Modules/eHRMS/FilterEmployeeNames.ashx?empType=1">
<ActionMethods Read="GET" />
<Reader>
<ext:JsonReader Root="employees" TotalProperty="total" />
</Reader>
</ext:AjaxProxy>
</Proxy>
<Model>
<ext:Model ID="Model4" runat="server">
<Fields>
<ext:ModelField Name="EmployeeID" />
<ext:ModelField Name="FirstName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
</ext:ComboBox>
コンボボックスから任意の名前を選択すると、正しい値が得られますが、コードを使用してコンボボックスの値を入力しようとすると、EmployeeID(Value) のみが表示され、EmplyeeName は表示されません
CodeBehind で次のコードを使用しました
従業員 emp = GetProject(EmployeeID); cbManager.SetValue(project.ManagerID);
I have also tried the following one also
cbManager.Select(project.ManagerID.ToString());
ただし、文字列の代わりにint値のみを表示しています(つまり、EmployeeName)
この動作の理由は何でしょうか。正しい方法を教えてください。
ありがとうございました