0

と一緒に使用infragistics webcomboしていtypeahead suggestます。

問題は、WebCombo1_InitializeDataSourceを使用してにアクセスできxmlReqますが、データが に表示されないことwebcomboです。

以下は私が使用しているコードです:

<igcmbo:WebCombo ID="WebCombo1" runat="server" EnableXmlHTTP="True" Editable="True"
                            ComboTypeAhead="Suggest">
                            <Columns>                              
                            <ClientSideEvents EditKeyUp="WebCombo1_EditKeyUp">
                            </ClientSideEvents>
                        </igcmbo:WebCombo>                            

Javascript 関数 :

function WebCombo1_EditKeyUp(webComboId,newValue,keyCode) 
   {
       var oWebCombo1=igcmbo_getComboById(webComboId)

        xmlReq = null;
        if(window.XMLHttpRequest) xmlReq = new XMLHttpRequest();
            else if(window.ActiveXObject) xmlReq = new ActiveXObject("Microsoft.XMLHTTP");                          

        var search=newValue&&newValue.length&&newValue.length>0?newValue:"";                        
        xmlReq.open("GET","ActivityManagement.aspx?searchString="+search,true);    
        xmlReq.send(null);
   }

コードビハインド:

void WebCombo1_InitializeDataSource(object sender, Infragistics.WebUI.WebCombo.WebComboEventArgs e)
{
    string str = "";
    if (this.Request.QueryString["searchString"] != null)
    {
        str = this.Request.QueryString["searchString"].ToUpper();
    }
    else str = "00";
    DataTable dtProducts = OperationsDataAccess.GetProductList(str);
    string rowFilter = "DeleteFlag = 0";
    dtProducts.DefaultView.RowFilter = rowFilter;
    WebCombo1.DataSource = dtProducts.DefaultView;
    WebCombo1.DataTextField = "Name";
    WebCombo1.DataValueField = "Id";
    WebCombo1.DataBind();
    WebCombo1.DropDownLayout.RowSelectors = RowSelectors.No;        
}
4

1 に答える 1

0

の次のプロパティを設定するだけで、これを実現できますwebcombo

EnableXmlHTTP="True" 
Editable="True"
ComboTypeAhead="Suggest"

そして、webcombo のイベントで web コンボをデータソースにバインドし、 true のときにInitializeDataSourcewebcombo をバインドします。page_loadpage.ispostback

ストアド プロシージャに検索ロジックを実装しますselect * from employee where emp_name like 'a%'

これにより、データを入力したときにレコードが取得されます。

于 2009-07-31T12:05:20.863 に答える