2012-07-08 37 views
-1

我的控件不会返回我的gridview中的值。gridview不显示通过BLL的值?

表适配器运行查询罚款并显示数据。

这里是控制我的代码:

categoriesBLL categoriesLogic = new categoriesBLL(); 
GridView1.DataSource = categoriesLogic.GetCategories(); 
GridView1.DataBind(); 

,这里是我的BLL:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using NopSolutions.NopCommerce.Nop.DataAccess.MegaProductMenuTableAdapters; 

namespace NopSolutions.NopCommerce.BusinessLogic.MegaProductsMenu 
{ 
    [System.ComponentModel.DataObject] 
    public class categoriesBLL 
    { 

     private Nop_CategoryTableAdapter _categoriesAdapter = null; 
     protected Nop_CategoryTableAdapter Adapter 
     { 
      get 
      { 
       if (_categoriesAdapter == null) 
        _categoriesAdapter = new Nop_CategoryTableAdapter(); 

       return _categoriesAdapter; 
      } 
     } 



     [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, true)] 
     public Nop_CategoryTableAdapter GetCategories() 
     { 
      return _categoriesAdapter; 
     } 


    } 

} 

我DAL看起来是这样的:

enter image description here

如果直接连接到DAL我可以得到值显示。所以我认为我的BLL出了问题,但它会是什么?我收到没有错误消息。

我的GridView控件来源:

<asp:GridView ID="GridView1" runat="server" CssClass="DataWebControlStyle" AutoGenerateColumns="True"> 
     <HeaderStyle CssClass="HeaderStyle" /> 
     <AlternatingRowStyle CssClass="AlternatingRowStyle" /> 
    </asp:GridView> 
+0

显示你的GridView的代码(源)。 – 2012-07-08 13:26:27

+0

@DigitalAssets:添加了源代码。 – 2012-07-08 13:28:19

回答

0

我通过asigning DataTable中解决了这个:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using NopSolutions.NopCommerce.Nop.DataAccess.MegaProductMenuTableAdapters; 

namespace NopSolutions.NopCommerce.BusinessLogic.MegaProductsMenu 
{ 
    [System.ComponentModel.DataObject] 
    public class categoriesBLL 
    { 

     private Nop_CategoryTableAdapter _categoriesAdapter = null; 
     protected Nop_CategoryTableAdapter Adapter 
     { 
      get 
      { 
       if (_categoriesAdapter == null) 
        _categoriesAdapter = new Nop_CategoryTableAdapter(); 

       return _categoriesAdapter; 
      } 
     } 

     [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, true)] 
     public NopCommerce.Nop.DataAccess.MegaProductMenu.Nop_CategoryDataTable GetCategories() 
     { 
      return Adapter.GetCategories(); 
     } 

    } 

} 
1

你有任何列定义?或者是AutoGenerateColumns == true

+0

AutoGenerateColumns设置为true。我应该改变它为假? – 2012-07-08 13:24:13

+0

不。现在我看到您将DataAdapter分配为数据源。您需要分配一个DataTable或一个DataView。 – 2012-07-08 13:26:25

+0

将其更改为false没有任何区别。 – 2012-07-08 13:26:27

1
  1. categoriesBLBL categories逻辑类= new categoriesBLL();

  2. GridView1.DataSource = categoriesLogic.GetCategories();

  3. GridView1.DataBind();

改线2以下

GridView1.DataSource = categoriesLogic.Adapter.GetCategories(); 
+0

这个没有解决。我得到:**'NopSolutions.NopCommerce.BusinessLogic.MegaProductsMenu.categoriesBLL.Adapter'由于其保护级别而无法访问** – 2012-07-08 13:46:54

+0

然后当我更改'私人Nop_CategoryTableAdapter _categoriesAdapter = null;'公开并做你说的,我仍然没有显示数值。 – 2012-07-08 13:47:39

+0

请检查天气调用Fill()而不是GetCategories()是否工作?并将AutoGenerateColumns设置为true。 – 2012-07-08 13:52:38