【问题标题】:Object Data Source对象数据源
【发布时间】:2011-05-09 14:38:06
【问题描述】:

我正在使用 objectdatasource 创建一个 gridview,它在提取所有记录时工作正常。但是当我想使用selectCountMethod 时,网格没有显示任何值。

我单步执行代码,我的getInvoices(获取请求的数据)返回数据,getInvoicesCount(获取总记录数)。但是,当我通过 gridview 的rowdatabound 时,那里什么都没有,也没有数据显示。

这是我设置对象数据源的代码。有什么原因导致它不起作用或需要做一些特殊的事情才能使 selectcount 起作用?

Me.ODS.TypeName = "invoice"
Me.ODS.EnablePaging = True
Me.ODS.SelectMethod = "getInvoices"
Me.ODS.SelectCountMethod = "GetInvoiceCount"
Me.ODS.StartRowIndexParameterName = "startRowIndex"
Me.ODS.MaximumRowsParameterName = "maximumRows"
Me.ODS.SelectParameters.Add("strbu", strBusUnit)
Me.ODS.SelectParameters.Add("stremailAddress", emailAddress)
Me.ODS.SelectParameters.Add("startDate", search_startdate)
Me.ODS.SelectParameters.Add("enddate", search_enddate)
Me.ODS.SelectParameters.Add("sortExpression", sortExpression & " " & sortDirection)

With gvInvoices
   .PageIndex = intPageIndex
   .PageSize = 25
   .DataBind()
End With

【问题讨论】:

  • 我能够弄清楚这一点。计数作为长而不是整数返回。我将其更改为整数,一切正常。
  • 正确的方法是将其作为答案发布并在可能的情况下接受它。这样,问题就不会保持开放。
  • @Tim Schmelter 谢谢。回答。我不确定这样做是否正确。

标签: asp.net vb.net objectdatasource


【解决方案1】:

检查返回的计数是否为整数。调试它。也许它是空的。 如果不是 null,则将其解析为整数

【讨论】:

    【解决方案2】:

    我能够弄清楚这一点。计数作为长而不是整数返回。我把它改成了整数,一切都很好

    【讨论】:

    • 但是,您的答案与@Ramie 的答案非常相似,以至于我不会自己创建一个答案,而是接受了 Ramie 的答案,并附上了实际错误的评论,以便他可以将其添加到他的答案中。
    • 我现在才看到他在您发布了问题后发布了他的答案。那不是很好的风格,所以忘记最后一条评论。
    猜你喜欢
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多