2014-09-03 1 views
1

ASP.Net C#에서 텍스트 상자 텍스트 변경에 기초하여 rad 격자를 필터링하려고합니다. 사용자가 텍스트 상자 격자에 B를 입력하면 열을 필터링해야합니다. Employee name 나는 B로 시작한다. 나는 다음과 같은 것을 시도했다. dtEmployeeDetail는 ASP 페이지에 EmployeeName 열필터 Rad Grid on Text box TextChanged

내 텍스트 상자와 격자의 모든 데이터를 포함하는 테이블이

<telerik:RadTextBox ID="txtSearchName" runat="server" DisplayText="Search" AutoPostBack="true" OnTextChanged="txtSearchName_TextChanged"> 
             </telerik:RadTextBox> 
Grid 

<telerik:RadGrid ID="rgEmployeeDetail" runat="server" AllowPaging="true" ShowGroupPanel="false" 
            AutoGenerateColumns="false" PageSize="20" EnableAriaSupport="true" OnItemCommand="rgEmployeeDetail_ItemCommand" 
            OnNeedDataSource="rgEmployeeDetail_NeedDataSource" OnInit="rgEmployeeDetail_Init">         
            <MasterTableView Width="100%" TableLayout="Fixed"> 
             <PagerStyle AlwaysVisible="true" ShowPagerText="False" PageSizeLabelText="" Mode="NextPrevAndNumeric" /> 
             <Columns> 
              <telerik:GridBoundColumn DataField="ID" HeaderText="ID" Visible="false"> 
               <HeaderStyle Width="25%" /> 
              </telerik:GridBoundColumn> 
              <telerik:GridBoundColumn DataField="UserID" HeaderText="Global Id"> 
               <HeaderStyle Width="25%" /> 
              </telerik:GridBoundColumn> 
              <telerik:GridBoundColumn DataField="EmployeeName" HeaderText="Employee Name"> 
               <HeaderStyle Width="50%" /> 
              </telerik:GridBoundColumn> 
              <telerik:GridBoundColumn DataField="Extension Number" HeaderText="Extension Number"> 
               <HeaderStyle Width="25%" /> 
              </telerik:GridBoundColumn> 
             </Columns> 

             <EditFormSettings> 
              <EditColumn FilterControlAltText="Filter EditCommandColumn column"> 
              </EditColumn> 
             </EditFormSettings> 
            </MasterTableView> 
            <ClientSettings AllowKeyboardNavigation="true"> 
             <Selecting AllowRowSelect="true" EnableDragToSelectRows="true" /> 
            </ClientSettings> 
            <PagerStyle PageSizeLabelText="" ShowPagerText="False" /> 
            <FilterMenu EnableImageSprites="False"> 
            </FilterMenu> 
           </telerik:RadGrid> 

을 따르되는대로 있지만 작동하지 않는 그리드가 여기

protected void txtSearchName_TextChanged(object sender, EventArgs e) 
     { 
      DataTable dtUserDetails = new DataTable();   
       DataView dvStores = new DataView(dtEmployeeDetail); 
       dvStores.RowFilter = "EmployeeName LIKE '" + txtSearchName.Text + "%'"; 
       rgEmployeeDetail.DataSource = dvStores;         
     } 

내 C# 코드 새로운 Dataview 당 필터링되지 않습니다.

답변

0

확인하십시오 ... 아래 라인 이후에 rgEmployeeDetail.DataBind()가 누락 되었습니까? rgEmployeeDetail.DataSource = dvStores;

해결되지 않은 경우 radLineExpressions = false rad 격자 및 체크

+0

시도해 보았습니다. 결과가 없습니다. 예외가 발생합니다. 'DataRowView'유형의 'EmployeeName'필드가 없습니다. – Fazil

+0

즉, dtEmployeeDetail 테이블에 'EmployeeName'이 아닌 다른 열 이름이 있음을 의미합니다. 다시 열 이름을 확인한 다음 RowFilter에서 사용하십시오. –

+0

반환하는 데이터 뷰 그리드에 바인딩 된 데이터 테이블과 정확히 동일한 열을가집니다. 데이터보기 열에 문제가 없습니다. – Fazil