【发布时间】:2014-09-09 09:12:10
【问题描述】:
我正在使用 objectdatasource 来填充我的网格 当我选择网格所在的页面时,它进入方法 select 和 selectcount,但是在排序时它给了我未找到的列。 奇怪的是我在方法 select 上有一个断点,如果我尝试按字段排序,参数 sSortColumn 应该有列 id,它应该进入断点但它没有。
这是我的网格和对象数据源
<ig:WebDataGrid ID="WebDataGridAutAssiduidade" runat="server" AutoGenerateColumns="False" Width="100%"
Height="99%" DataKeyFields="ID" DataSourceID="odsAutAssiduidade" >
<EmptyRowsTemplate>
Sem registos...</EmptyRowsTemplate>
<Columns>
<ig:TemplateDataField Key="chkBox" Width="40px">
<HeaderTemplate>
<asp:CheckBox runat="server" ID="chkAll" CssClass="center" OnClick="SelectAll(this)" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox runat="server" ID="chk" CssClass="center" />
</ItemTemplate>
</ig:TemplateDataField>
<ig:BoundDataField DataFieldName="ID" Hidden="false" Key="ID">
<Header Text="ID" />
</ig:BoundDataField>
</Columns>
<behaviors>
<ig:Sorting>
</ig:Sorting>
<ig:EditingCore>
</ig:EditingCore>
<ig:ColumnResizing>
</ig:ColumnResizing>
<ig:Paging PagerMode="NumericFirstLast" PageSize="20" QuickPages="5">
</ig:Paging>
<ig:RowSelectors RowNumbering="True">
</ig:RowSelectors>
</behaviors>
</ig:WebDataGrid>
<asp:ObjectDataSource ID="odsAutAssiduidade" runat="server" EnablePaging="True" SelectCountMethod="GetAsAutAssiduidadeCount"
SelectMethod="GetAsAutAssiduidade" TypeName="IdOntime.AsAutorizacoesAssiduidade" SortParameterName="sSortType"
EnableCaching="True" EnableViewState="True" OldValuesParameterFormatString="original_{0}" StartRowIndexParameterName="startRowIndex" MaximumRowsParameterName="maxRows">
<selectparameters>
<asp:Parameter Name="sSortType" Type="String" />
</selectparameters>
</asp:ObjectDataSource>
这里是方法
public DataTable GetAsAutAssiduidade(String sSortType, int maxRows, int startRowIndex)
{
return new DataTable();//testing -
}
public int GetAsAutAssiduidadeCount(String sSortType)
{
return NRows;
}
我做错了什么? 我正在使用一个名为 webdatagrid 的基础架构组件,并且我允许通过添加行为来进行排序。
感谢您的帮助。
【问题讨论】:
标签: c# objectdatasource