Фильтр Рад сетки на текстовое поле TextChanged

1

Я пытаюсь отфильтровать сетку рада на основе изменения текстового поля в ASP.Net С#, например, когда пользователь вводит B в текстовом поле, сетка должна фильтровать по столбцу, например, имя сотрудника, которое начинается с B. Я пробовал что-то вроде следующего, Мой код С#

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

здесь dtEmployeeDetail - это таблица, которая содержит все данные с столбцом EmployeeName

мое текстовое поле и сетка на странице asp:

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

но его не работающая сетка не фильтруется в соответствии с новым Dataview.

Теги:

1 ответ

0

Проверьте, не хватает ли вы вызова rgEmployeeDetail.DataBind() после строки ниже rgEmployeeDetail.DataSource = dvStores;

Если это не решено.. пожалуйста EnableLinqExpressions = false на сетке радара и проверьте

  • 0
    Я тоже это пробовал, но безрезультатно. Это дает исключение. Отсутствует свойство или поле «EmployeeName» в типе «DataRowView».
  • 0
    Это означает, что таблица dtEmployeeDetail имеет другое имя столбца, отличное от «EmployeeName». Пожалуйста, проверьте имя столбца еще раз и используйте его в своем RowFilter
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню