【问题标题】:Filter Rad grid on text box TextChanged在文本框 TextChanged 上过滤 Radgrid
【发布时间】:2014-09-03 21:28:08
【问题描述】:

我正在尝试根据 ASP.Net C# 中的文本框文本更改来过滤 rad 网格,例如当用户在文本框网格中输入 B 时,应该过滤以 B 开头的员工姓名列。我试过了像跟随。 我的 C# 代码

 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 进行过滤。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    请检查...您是否在以下行之后缺少调用 rgEmployeeDetail.DataBind() rgEmployeeDetail.DataSource = dvStores;

    如果这没有解决..请在 rad 网格上 EnableLinqExpressions = false 并检查

    【讨论】:

    • 我也试过了,但没有结果。这给出了异常 No property or field 'EmployeeName' exists in type 'DataRowView'
    • 这意味着 dtEmployeeDetail 表的列名不同于 'EmployeeName' 请再次检查列名并在 RowFilter 中使用它
    • 它返回的数据视图的列与我绑定到网格的数据表完全相同。数据视图列没有问题。
    • 编辑了答案,请也尝试一下.. (EnableLinqExpressions = false) 自行设计
    • 那不起作用我也在使用 Telerik:RadAjaxPanel。所有的控件都在里面。
    猜你喜欢
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多