2009-07-30 9 views
0

Ich verwende infragistics webcombo mit der typeahead suggest.Infragistics webcombo Typeahead vorschlagen

Das Problem ist, dass ich die WebCombo1_InitializeDataSource mit der xmlReq erreichen kann, aber die Daten sind nicht in der webcombo sichtbar.

Unten finden Sie das Stück Code, ich verwende:

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

Javascript-Funktion:

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

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

Antwort

0

du die folgenden, indem Sie einfach erreichen können Eigenschaften der webcombo:

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

und binden die Web-Combo mit der Datenquelle im InitializeDataSource Ereignisse der webcombo und auch die webcombo im page_load binden, wenn die page.ispostback wahr ist.

Implementieren Sie die Suchlogik in Ihrer gespeicherten Prozedur, z. select * from employee where emp_name like 'a%'.

Dies wird die Datensätze abrufen, wenn Sie in den Daten kleben.