GridView问题

时间:2011-02-12 15:42:10

标签: c# asp.net gridview

这是我第一次尝试asp.net编程,所以我遇到了这个问题:

我有几个需要与之通信并从中检索信息的服务.... 此信息需要显示给客户。

我决定使用GridView控件来显示我的数据

为什么我需要网格视图?

我需要gridview来查看从远程Web服务检索的List。    我读到网格视图是显示数据的最佳选择,比表格更好,更好地来自The Letteral控件....

有什么问题?

我无法找到一种方法将GridView与我的对象绑定,虽然我设置了      gridview.datasource =列表/////      gridview.databind()

但它没有用。

在本节中我有多个问题:

  1. 我必须在网格视图和代码中的汽车列表之间进行绑定(c#) 或者在标记中做得更好吗?我怎么能做出这样的约束?
  2. 当我使用来自webservice的原始DataSet时它工作得很好....但我不认为更好的方法是使用数据集,,,这就是我使用封装的方式 所以我不知道它是否更好(愚蠢的问题;))
  3. 另一点是我测试了允许排序并允许在网格视图上进行分页,当我使用ajax对我的数据库中的数据进行测试但它没有工作时?????

    任何人都可以帮助我花很长时间试图解决问题,但没有运气

    这是使用

    的代码
    List<Car> test = BL.carFilterOnYearofmanuf(1980);
    GridView1.DataSource = test;
    GridView1.DataBind();
    

2 个答案:

答案 0 :(得分:4)

我可能错过了一个关于错误消息的重要信息,我有:

“具有id'GridView1'的GridView的数据源没有任何数据源 从中生成列的属性或属性。确保你的 数据源有内容。“

我通过将我的(Car)类中的字段更改为属性来解决问题:

public int Id;

public int Id {get;组; }

并且这个问题已修复,,,我还没有解决排序和分页问题

答案 1 :(得分:0)

回答你的一点:

1)您的错误,您只需使用以下代码绑定到griview:

Gridview1.datasource = List;
Gridview1.databind();

列表必须是以下类型之一(取自MSDN文档)

  • A DataTable
  • A DataView
  • 数据集
  • DataViewManager
  • 任何实现IListSource接口的组件
  • 实现IList接口的任何组件

另一方面,我个人使用Jquery tablesorter插件对gridviews进行排序,并发现它非常适合排序。