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

Radgrid automatic sorting not working

3 Answers 424 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Rahul
Top achievements
Rank 1
Rahul asked on 07 Jan 2011, 03:48 PM
Hello i want to sort each column i set all property but sorting not working in my case.


<telerik:RadGrid ID="grdGameInfo" runat="server" AllowPaging="True" AllowSorting="True"
                GridLines="None" Skin="Office2007" AutoGenerateColumns="false" Width="800px"
                AllowAutomaticInserts="false" AlternatingItemStyle-BackColor="#F0F0F0" AllowFilteringByColumn="true"
                AllowAutomaticUpdates="false" AllowAutomaticDeletes="false" PageSize="10" OnItemDataBound="grdGameInfo_ItemDataBound"
                OnSortCommand = "grdGameInfo_SortCommand"  EnableViewState ="true"
                OnItemCreated="grdGameInfo_ItemCreated" OnNeedDataSource="grdGameInfo_NeedDataSource"
                OnItemCommand="grdGameInfo_ItemCommand" OnPageSizeChanged="grdGameInfo_PageSizeChanged"
                OnInsertCommand="grdGameInfo_InsertCommand" OnPageIndexChanged="grdGameInfo_PageIndexChanged">
                <GroupingSettings CaseSensitive="false" />
                <PagerStyle Mode="NextPrevAndNumeric" />
                <MasterTableView EditMode="EditForms" Width="800px" CommandItemDisplay="Top" DataKeyNames="DelFlag,IsDeleted"
                AllowNaturalSort ="false" AllowMultiColumnSorting="true">
                    <Columns>
                        <telerik:GridTemplateColumn DataField="GameGID" HeaderText="GameGID" SortExpression="GameGID"
                            ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" UniqueName="GameGID"
                            Visible="false">
                            <ItemTemplate>
                                <asp:Label ID="lblGameGID" runat="server" Text='<%#Eval("GameGID")%>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="txtGameGID" TabIndex="0" runat="server" Text='<%#Eval("GameGID")%>'></asp:TextBox>
                            </EditItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"
                            ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" EditImageUrl="../../images/edit.gif"
                            HeaderStyle-Width="20px" HeaderText="Edit" AutoPostBackOnFilter="true">
                            <HeaderStyle ForeColor="#326DA0" BackColor="#EEEEEE" BorderStyle="Solid" BorderColor="#326DA0" />
                        </telerik:GridEditCommandColumn>
                        <telerik:GridTemplateColumn DataField="MA" HeaderText="State" SortExpression="MA"
                            ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" UniqueName="MA"
                            FilterControlWidth="50px" AutoPostBackOnFilter="True" ShowFilterIcon="false"
                            CurrentFilterFunction="Contains">
                            <ItemTemplate>
                                <asp:Label ID="lblState" runat="server" Text='<%#Eval("MA")%>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="txtState" TabIndex="1" Enabled="true" runat="server" Text='<%#Eval("MA")%>'></asp:TextBox>
                                <asp:RequiredFieldValidator ID="reqFieldValGameState" runat="server" ErrorMessage="RequiredFieldValidator"
                                    ControlToValidate="txtState" Text="Please enter Game state."></asp:RequiredFieldValidator>
                                <asp:CustomValidator ID="custmValState" runat="server" ControlToValidate="txtState"
                                    OnServerValidate="custmValState_ServerValidate" ErrorMessage="Invalid State."></asp:CustomValidator>
                            </EditItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn HeaderText="Number" DataField="GameNumber" SortExpression="GameNumber"
                            HeaderStyle-HorizontalAlign="Center" UniqueName="GameNumber" AutoPostBackOnFilter="True"
                            ShowFilterIcon="false" CurrentFilterFunction="Contains" FilterControlWidth="70px">
                            <ItemTemplate>
                                <asp:Label ID="lblGameNumber" runat="server" Text='<%#Eval("GameNumber")%>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="txtGameNumber" onkeydown="return isNumeric(event.keyCode);" Enabled="true"
                                    TabIndex="2" runat="server" Text='<%#Eval("GameNumber")%>'></asp:TextBox>
                                <asp:RequiredFieldValidator ID="reqFieldValGameNumber" runat="server" ErrorMessage="RequiredFieldValidator"
                                    ControlToValidate="txtGameNumber" Text="Please enter Game number.">
                                </asp:RequiredFieldValidator>
                                <asp:CustomValidator ID="custmGameNumber" runat="server" ControlToValidate="txtState"
                                    OnServerValidate="custmValGameNumber_ServerValidate" ErrorMessage="Game Number is already in the system."></asp:CustomValidator>
                            </EditItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn DataField="GameName" HeaderText="Name" SortExpression="GameName"
                            HeaderStyle-HorizontalAlign="Center" UniqueName="GameName" AutoPostBackOnFilter="True"
                            ShowFilterIcon="false" CurrentFilterFunction="Contains" FilterControlWidth="100px">
                            <ItemTemplate>
                                <asp:Label ID="lblGameName" runat="server" Text='<%#Eval("GameName")%>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="txtGameName" TabIndex="3" runat="server" Text='<%#Eval("GameName")%>'></asp:TextBox>
                                <asp:RequiredFieldValidator ID="reqFieldValGameName" runat="server" ErrorMessage="RequiredFieldValidator"
                                    ControlToValidate="txtGameName" Text="Please enter Game name."></asp:RequiredFieldValidator>
                                <asp:CustomValidator ID="custmValGameName" runat="server" ControlToValidate="txtGameName"
                                    OnServerValidate="custmValGameName_ServerValidate" ErrorMessage="Game Name is already in the system.">
                                </asp:CustomValidator>
                            </EditItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn DataField="GameUPC" HeaderText="UPC" SortExpression="GameUPC"
                            HeaderStyle-HorizontalAlign="Center" FilterListOptions="AllowAllFilters" AutoPostBackOnFilter="True"
                            ShowFilterIcon="false" CurrentFilterFunction="Contains" UniqueName="GameUPC">
                            <ItemTemplate>
                                <asp:Label ID="lblGameUPC" runat="server" Text='<%#Eval("GameUPC")%>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="txtGameUPC" onkeydown="return isNumeric(event.keyCode);" Enabled="true"
                                    MaxLength="12" TabIndex="4" runat="server" Text='<%#Eval("GameUPC")%>'></asp:TextBox>
                                <asp:RequiredFieldValidator ID="reqFieldValGameUPC" runat="server" ErrorMessage="RequiredFieldValidator"
                                    ControlToValidate="txtGameUPC" Text="Please enter Game UPC code."></asp:RequiredFieldValidator>
                                <asp:CustomValidator ID="custmValGameUPC" runat="server" ControlToValidate="txtGameUPC"
                                    OnServerValidate="custmValGameUPC_ServerValidate" ErrorMessage="Game UPC is already in the system.">
                                </asp:CustomValidator>
                            </EditItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn DataField="GamePrice" HeaderText="Price" SortExpression="GamePrice"
                            HeaderStyle-HorizontalAlign="Center" UniqueName="GamePrice" AutoPostBackOnFilter="True"
                            FilterControlWidth="40px" ShowFilterIcon="false" CurrentFilterFunction="Contains">
                            <ItemTemplate>
                                <%--<%# DataBinder.Eval(Container.DataItem, "GamePrice", "{0:C}")%>--%>
                                <asp:Label ID="lblGamePrice" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "GamePrice", "{0:C}")%>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="txtGamePrice" runat="server" onkeydown="return isNumericPrice(event.keyCode);"
                                    TabIndex="5" Text='<%# Eval("GamePrice")%>'></asp:TextBox>
                                <asp:RequiredFieldValidator ID="reqFieldValGamePrice" runat="server" ErrorMessage="RequiredFieldValidator"
                                    ControlToValidate="txtGamePrice" Text="Please enter Game price."></asp:RequiredFieldValidator>
                                <asp:CustomValidator ID="custmValGamePrice" runat="server" ControlToValidate="txtGameUPC"
                                    OnServerValidate="custmValGamePrice_ServerValidate" ErrorMessage="Price must be in the format of a valid dollar amount 0.00">
                                </asp:CustomValidator>
                            </EditItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn DataField="DelFlag" HeaderText="Status" SortExpression="DelFlag"
                            HeaderStyle-HorizontalAlign="Center" UniqueName="DelFlag" Visible="true" AllowFiltering="false">
                            <ItemTemplate>
                                <asp:Button ID="btnStatus" Font-Size="11px" Width="65px" runat="server" Text='<%#Eval("DelFlag")%>'
                                    OnClientClick="javascript:return confirm('Are you sure want to update status !!?')"
                                    CommandName="Command" />
                            </ItemTemplate>
                            <ItemStyle VerticalAlign="Middle" HorizontalAlign="Center" />
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn DataField="GameMax" HeaderText="Tickets In Book " SortExpression="GameMax"
                            HeaderStyle-HorizontalAlign="Center" FilterListOptions="AllowAllFilters" AutoPostBackOnFilter="True"
                            Visible="false" UniqueName="GameMax">
                            <ItemTemplate>
                                <asp:Label ID="lblGameMax" runat="server" Text='<%#Eval("GameMax")%>'></asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="txtGameMax" Enabled="true" onkeydown="return isNumeric(event.keyCode);"
                                    MaxLength="4" TabIndex="5" runat="server" Text='<%#Eval("GameMax")%>'></asp:TextBox>
                                <asp:RequiredFieldValidator ID="reqFieldValGameMax" runat="server" ErrorMessage="RequiredFieldValidator"
                                    ControlToValidate="txtGameMax" Text="Please enter ticket in book."></asp:RequiredFieldValidator>
                            </EditItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn HeaderText="AssignStore" UniqueName="AssignStore" Visible="false">
                            <EditItemTemplate>
                                <asp:CheckBox ID="chkAssignStores" Text="Assign to all Stores" runat="server" Checked="false"
                                    AutoPostBack="true" />
                            </EditItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridButtonColumn ConfirmText="Delete this Game?" ConfirmDialogType="RadWindow"
                            HeaderText="Delete" ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete"
                            Text="Delete" HeaderStyle-Width="20px" UniqueName="DeleteColumn">
                            <ItemStyle HorizontalAlign="Center" />
                            <HeaderStyle ForeColor="#326DA0" BackColor="#EEEEEE" BorderStyle="Solid" BorderColor="#326DA0" />
                        </telerik:GridButtonColumn>
                        <telerik:GridTemplateColumn UniqueName="IsDeleted" AllowFiltering="false" HeaderStyle-Width="20px"
                            SortExpression="IsDeleted" DataField="IsDeleted" Visible="false">
                        </telerik:GridTemplateColumn>
                    </Columns>
                    <EditFormSettings ColumnNumber="4" CaptionDataField="GameName" CaptionFormatString="Edit Details of Game :  {0}"
                        InsertCaption="New Game">
                        <FormTableItemStyle Wrap="False"></FormTableItemStyle>
                        <FormCaptionStyle CssClass="EditFormHeader"></FormCaptionStyle>
                        <FormMainTableStyle GridLines="None" CellSpacing="0" CellPadding="3" BackColor="White"
                            Width="100%" />
                        <FormTableStyle CellSpacing="0" CellPadding="2" Height="110px" BackColor="White" />
                        <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle>
                        <EditColumn ButtonType="ImageButton" InsertText="Insert Order" UpdateText="Update record"
                            UniqueName="EditCommandColumn1" CancelText="Cancel edit">
                        </EditColumn>
                        <FormTableButtonRowStyle HorizontalAlign="Right"></FormTableButtonRowStyle>
                    </EditFormSettings>
                    <RowIndicatorColumn>
                        <HeaderStyle Width="20px"></HeaderStyle>
                    </RowIndicatorColumn>
                    <ExpandCollapseColumn>
                        <HeaderStyle Width="20px"></HeaderStyle>
                    </ExpandCollapseColumn>
                </MasterTableView>
                <FilterMenu EnableTheming="True">
                    <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
                </FilterMenu>
            </telerik:RadGrid>




Tell me how perform multi column sorting

3 Answers, 1 is accepted

Sort by
0
Mike Nogen
Top achievements
Rank 1
answered on 07 Jan 2011, 04:19 PM
Hello!

What are you doing in your
OnSortCommand = "grdGameInfo_SortCommand" 

Take look at
http://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/sorting/defaultcs.aspx

/M
0
Rahul
Top achievements
Rank 1
answered on 07 Jan 2011, 04:53 PM
No m not doing anything OnSortCommand = "grdGameInfo_SortCommand"   i dont' want to call. I want to automatic sorting how to achieve this.
0
Mike Nogen
Top achievements
Rank 1
answered on 07 Jan 2011, 05:31 PM
Take away your onsortcommand from your declaration in the grid if you are not using it and take a look at the link again. It´s done there.
Tags
Grid
Asked by
Rahul
Top achievements
Rank 1
Answers by
Mike Nogen
Top achievements
Rank 1
Rahul
Top achievements
Rank 1
Share this question
or