原先一直都是在Web页面里直接从数据库里读信息到DataSet里,
然后 GridView.DataSource=DataSet,
而对于GridView里显示列的绑定也是根据Web页面的SQL语句的返回字段设置,
比如sql语句为"select id,name from users",那么在GridView里如果要显示id和name,就需要在GridView里绑定id和name,如下所示:
今天尝试将一个IList类型的数据集绑定到GridView.DataSource,
Sql语句依然是select id,name from users,但是此次并不是直接获取,而是先将获取的id和name赋值给一个user类的两个属性userid和username,然后将user类添加到一个IList,再将IList绑定给DataSource,代码如下:
如果GridView在绑定数据时,还是如上面所示,datafield为id和name,那就会报错,说“在选定的数据源上未找到名为“id”的字段或属性。”。
解决办法,将GridView的DataField字段改为userid和username,如下所示:
也就是GridView要根据IList里的字段来绑定,而从GetNoticeList函数里可以看到IList里是以notice类为单位添加的,因此GridView的DataField字段要根据sql字段绑定到的notice类里的属性字段来定。