This is a migrated thread and some comments may be shown as answers.

[Solved] Grid Filtering Errors or no Filtering at all...

4 Answers 96 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Craig
Top achievements
Rank 1
Craig asked on 05 Apr 2013, 10:50 AM
Hi all,

Long time lurker first time poster.

I'm developing a report using the RadGrid control (full version) and one of the requirements is that it must be possible to filter the rows. Previously before using the RadGrid I'd obviously just filter the data source then re-render the html table but.... you know RadGrids are pretty and support so much functionality out of the box I thought what the hell?

Anyway - obviously I'm posting because its not gone too swell.

Initially I got the Expression Expected error... all fine and good, tons of threads with the answer set EnableLinqExpressions="False". Did that and sure enough the error disappeared.... however no filtering appeared? As in after the postback was finished no filtering had been applied. I was kind of under the impression from the Basic Filtering Tutorial that it should be a pretty much out of the box "hey presto no need to manually make all the filters" deal? Starting to think that's not the case.

Anyway - details: -

I'm using the OnNeedDataSource event, the code currently looks -roughly- like: -

protected void MyGrid_OnNeedData(object sender, GridNeedDataSourceEventArgs e)
    {
 
        ...General getting data stuff...
 
        MyGrid.DataSource = MyData;
    }

With MyData being a List<MyObject>.

Now there WAS something about using the OnNeedDataSource event in the basic filtering tutorial. I didn't think it was 100% clear though to be honest as it talked about "checking" the FilterExpression in the OnNeedDataSource event - is this actually implying that if you use this method of data binding you do have to manually do all the filtering? As you might have guessed I'm rather hoping thats NOT the case heh.

Anyway - appreciate any input. Thanks!

4 Answers, 1 is accepted

Sort by
0
Jayesh Goyani
Top achievements
Rank 2
answered on 05 Apr 2013, 11:16 AM
Hello,

Please provide your aspx page code of thid RadGrid.

Thanks,
Jayesh Goyani
0
Craig
Top achievements
Rank 1
answered on 05 Apr 2013, 12:10 PM
Here we go: -

<div style="text-align: center;"  >
                <asp:Panel runat="server" id="ReportBody">
                    <div id="ReportTable" runat="server">
                        <telerik:RadGrid runat="server" ID="MyGrid" OnNeedDataSource="MyGrid_OnNeedData" AllowSorting="true" AllowPaging="True" PageSize="100" EnableLinqExpressions="False" >
                            <PagerStyle Mode="NextPrevAndNumeric"></PagerStyle>
                            <SortingSettings>
                            </SortingSettings>
                            <ExportSettings>   
                                <Csv ColumnDelimiter="Comma" RowDelimiter="NewLine" FileExtension="CSV" EncloseDataWithQuotes="true" />
                            </ExportSettings>                     
                            <MasterTableView AutoGenerateColumns="False" AllowMultiColumnSorting="True" AllowFilteringByColumn="True">
                                <SortExpressions>
                                     
                                </SortExpressions>
                                <Columns>
                                    <telerik:GridTemplateColumn Visible="False">
                                        <ItemTemplate>
                                            <asp:HiddenField runat="server" ID="hdnMyObjectId" Value='<%#Eval("MyObjectId") %>'></asp:HiddenField>
                                        </ItemTemplate>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridTemplateColumn HeaderText="ObjectMonth" SortExpression="ObjectDate">
                                        <ItemTemplate>
                                            <asp:Label runat="server" ID="lblObjectMonth" Text='<%#Eval("ObjectMonth") %>'></asp:Label>
                                        </ItemTemplate>
                                        <ItemStyle HorizontalAlign="Left"></ItemStyle>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridTemplateColumn HeaderText="ObjectString1" SortExpression="Division">
                                        <ItemTemplate>
                                            <asp:Label runat="server" ID="lblObjectString1" Text='<%#Eval("ObjectString1") %>'></asp:Label>
                                        </ItemTemplate>
                                        <ItemStyle HorizontalAlign="Left"></ItemStyle>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridTemplateColumn HeaderText="ObjectString2" SortExpression="Model">
                                        <ItemTemplate>
                                            <asp:Label runat="server" ID="lblObjectString2" Text='<%#Eval("ObjectString2") %>'></asp:Label>
                                        </ItemTemplate>
                                        <ItemStyle HorizontalAlign="Left"></ItemStyle>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridTemplateColumn HeaderText="ObjectString3" SortExpression="Category1">
                                        <ItemTemplate>
                                            <asp:Label runat="server" ID="lblObjectString3" Text='<%#Eval("ObjectString3") %>'></asp:Label>
                                        </ItemTemplate>
                                        <ItemStyle HorizontalAlign="Left"></ItemStyle>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridTemplateColumn HeaderText="ObjectString4" SortExpression="ObjectString4">
                                        <ItemTemplate>
                                            <asp:Label runat="server" ID="lblObjectString4" Text='<%#Eval("ObjectString4") %>'></asp:Label>
                                        </ItemTemplate>
                                        <ItemStyle HorizontalAlign="Left"></ItemStyle>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridTemplateColumn HeaderText="ObjectString5" SortExpression="ObjectString5">
                                        <ItemTemplate>
                                            <asp:Label runat="server" ID="lblObjectString5" Text='<%#Eval("ObjectString5") %>'></asp:Label>
                                        </ItemTemplate>
                                        <ItemStyle HorizontalAlign="Left"></ItemStyle>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridTemplateColumn HeaderText="ObjectString6" SortExpression="ObjectString6">
                                        <ItemTemplate>
                                            <asp:Label runat="server" ID="lblObjectString6" Text='<%#Eval("ObjectString6") %>'></asp:Label>
                                        </ItemTemplate>
                                        <ItemStyle HorizontalAlign="Left"></ItemStyle>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridTemplateColumn HeaderText="ObjectString7" SortExpression="ObjectString7">
                                        <ItemTemplate>
                                            <asp:Label runat="server" ID="lblObjectString7" Text='<%#Eval("ObjectString7") %>'></asp:Label>
                                        </ItemTemplate>
                                        <ItemStyle HorizontalAlign="Left"></ItemStyle>
                                    </telerik:GridTemplateColumn>
                                    <telerik:GridTemplateColumn HeaderText="ObjectString8" SortExpression="ObjectString8">
                                        <ItemTemplate>
                                            <asp:Label runat="server" ID="ObjectString8" Text='Replace me'></asp:Label>
                                        </ItemTemplate>
                                        <ItemStyle HorizontalAlign="Left"></ItemStyle>
                                    </telerik:GridTemplateColumn>
                                </Columns>
                            </MasterTableView>
                        </telerik:RadGrid>
                    </div>
                </asp:Panel>
            </div>


Thanks for the fast response Jayesh!
0
Accepted
Jayesh Goyani
Top achievements
Rank 2
answered on 05 Apr 2013, 05:23 PM
Hello,

Please add/assign "DataField" property in all column. (for sorting and filtering)

<telerik:GridTemplateColumn HeaderText="ObjectMonth" SortExpression="ObjectDate" DataField="ObjectDate">
                                        <ItemTemplate>
                                            <asp:Label runat="server" ID="lblObjectMonth" Text='<%#Eval("ObjectMonth") %>'></asp:Label>
                                        </ItemTemplate>
                                        <ItemStyle HorizontalAlign="Left"></ItemStyle>
                                    </telerik:GridTemplateColumn>


Thanks,
Jayesh Goyani
0
Craig
Top achievements
Rank 1
answered on 08 Apr 2013, 07:40 AM
Thanks very much Jayesh, that was indeed the answer!
Tags
Grid
Asked by
Craig
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
Craig
Top achievements
Rank 1
Share this question
or