问题一:
页面部分代码:
<asp:datagrid id="Lists" runat="server" Width="850px" Visible="False" AllowPaging="True" OnPageIndexChanged="list_Page" AutoGenerateColumns="False" Font-Size="12px" >
程序代码:
string SQL="Select * from VWOnOffList where ……";查的是视图
当查询条件查到数据时显示正常,当查不到数据时 页面报错:
无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。
怎么回事,以前好像没这种情况的问题二:
<asp:BoundColumn DataField="leave" HeaderText="事 假"></asp:BoundColumn>
当查询出来的值是0的时候显示空 不要显示0 怎么做?
页面部分代码:
<asp:datagrid id="Lists" runat="server" Width="850px" Visible="False" AllowPaging="True" OnPageIndexChanged="list_Page" AutoGenerateColumns="False" Font-Size="12px" >
程序代码:
string SQL="Select * from VWOnOffList where ……";查的是视图
当查询条件查到数据时显示正常,当查不到数据时 页面报错:
无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。
怎么回事,以前好像没这种情况的问题二:
<asp:BoundColumn DataField="leave" HeaderText="事 假"></asp:BoundColumn>
当查询出来的值是0的时候显示空 不要显示0 怎么做?
问题二格式问题,可以在SQL里进行替换,也可以用模版列,很多方法都可以实现
select (CASE leave WHEN 0 THEN '' ELSE leave END) AS leave from table
Lists.CurrentPageIndex = 0 ;
if(Lists.CurrentPageIndex<0||Lists.CurrentPageIndex>Lists.PageCount)
{
Lists.CurrentPageIndex=0;
}2.使用模版列 <Columns>
<asp:TemplateColumn HeaderText ="事 假">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"leave").ToString().Trim()=="0"?"":"是"%>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
if(DataSet==null || DataSet.DataTable.Rows.Count==0){
//不绑定数据
Lists.CurrentPageIndex=0;
}2.使用case, 同上