2009-07-30 11 views
0

J'utilise infragistics webcombo avec le typeahead suggest.Infragistics webcombo Typeahead suggérer

Le problème est que je suis en mesure d'atteindre le WebCombo1_InitializeDataSource en utilisant le xmlReq, mais les données ne sont pas visibles dans le webcombo.

est en dessous du morceau de code que je utilise:

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

fonction 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); 
    } 
code

derrière:

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

Répondre

0

Vous pouvez y parvenir en définissant simplement ce qui suit propriétés de la :

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

Et lier le combo web avec la source de données en cas InitializeDataSource du webcombo et aussi lier le webcombo dans le page_load lorsque le page.ispostback est vrai.

Implémentez la logique de recherche dans votre procédure stockée, par ex. select * from employee where emp_name like 'a%'.

Cela permettra de récupérer les enregistrements au fur et à mesure que vous gardez dans les données.

Questions connexes