GridView排序无效

时间:2011-03-21 12:49:28

标签: c# asp.net sorting gridview gridview-sorting

请帮助我,我设置了allowsorting =“true”但排序在我的GridView中无效。我想要自动排序,即排序而不处理它的事件。

这是aspx页面的代码:

<asp:GridView ID="gdvSignatureLines" runat="server" CssClass="Grid1" AutoGenerateColumns="False"
                        SkinID="PagedGridView" AllowPaging="True" AllowSorting="True" DataKeyNames="Id" 
                        onrowcommand="gdvSignatureLines_RowCommand" 
                        onrowdeleting="gdvSignatureLines_RowDeleting" 
                        onrowediting="gdvSignatureLines_RowEditing">
                        <PagerStyle CssClass="gridPager" HorizontalAlign="Right" />
                        <Columns>
                            <ucc:commandfieldcontrol headertext="Actions" showdeletebutton="true" buttontype="Image"
                                deleteimageurl="~/App_Themes/Default/images/delete.png" showeditbutton="true"
                                editimageurl="~/App_Themes/Default/images/edit.png" deleteconfirmationtext="Are you sure you want to delete?">
                                    <ItemStyle HorizontalAlign="Center" Width="60px" />
                             </ucc:commandfieldcontrol>
                            <asp:BoundField DataField="SortOrder" HeaderText="Line" SortExpression="SortOrder" />
                            <asp:TemplateField HeaderText="Type">
                                <ItemTemplate>
                                    <asp:Label ID="lblglTypeId" runat="server" Text='<%# Eval("GeneralLookup.LookupItem") %>'></asp:Label>
                                </ItemTemplate>  
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Label">
                                <ItemTemplate>
                                    <asp:Label ID="lblglLabelId" runat="server" Text='<%# Eval("GeneralLookup1.LookupItem") %>'></asp:Label>
                                </ItemTemplate>  
                            </asp:TemplateField>
                            <asp:BoundField DataField="Caption" HeaderText="Caption" SortExpression="Caption" />
                        </Columns>
                        <EmptyDataTemplate>
                            <div class="divEmptyListingGrid">
                                --- No Signature Line Exists ---
                            </div>
                        </EmptyDataTemplate>
                    </asp:GridView>

这是CS文件的代码:

protected void LoadSignatureList(int reportId, string reportName)
{
    lblHeading.Text = "Signature Line for " + reportName;
    ReportOptionsBO reportOptionsBO = new ReportOptionsBO();
    this.gdvSignatureLines.DataSource = reportOptionsBO.GetReportSignatureLineByReportId(reportId);
    this.gdvSignatureLines.DataBind();
}

当我点击“Line”或“Caption”列的标题时,没有任何反应。

我还有一个工作正常的网格。两者之间的区别在于,数据在运行时绑定到此网格。但是其他网格的数据源是预设的。

我当前的网格没有启用分页和启用排序的选项。

请尽快帮助。

0 个答案:

没有答案