当前位置: 代码迷 >> ASP.NET >> |M| 数据绑定时不绑定某条件的行要怎么处理
  详细解决方案

|M| 数据绑定时不绑定某条件的行要怎么处理

热度:6625   发布时间:2013-02-26 00:00:00.0
|M| 数据绑定时不绑定某条件的行要怎么办
比如有
DataTable
ID     NAME         price
1       age           5
2       apple       4
3       orange     3
4       banana     2

在绑定到DataList的时候判断如果Price> 4时不绑定这条记录,结果为
ID     NAME         price
2       apple       4
3       orange     3
4       banana     2
要怎么办
PS:注DataSource为DataTable不能更改

------解决方案--------------------------------------------------------
定义一个DataView

DataView dv = DataTable1.DefauleView()

dv.Rowfiler = "Price> 4 ";

DG.DataSource = dv ;
DG.DataBind();


------解决方案--------------------------------------------------------
dv.RowFilter = "Price> 4 ";

抱歉写错了。
------解决方案--------------------------------------------------------
学习
------解决方案--------------------------------------------------------
纠正一下,应该是dv.Rowfiler = "Price < 5 ";
------解决方案--------------------------------------------------------
抱歉没注意看,总之是用 dv.Rowfiler 这个属性 :)。
------解决方案--------------------------------------------------------
UP
------解决方案--------------------------------------------------------
1、在绑定Price处放一个Lable,不给值。

2、在ItemDataBound事件中获取Price值,然后判断其大小决定是否给Lable赋值。
------解决方案--------------------------------------------------------
定义一个DataView

DataView dv = DataTable1.DefauleView()

dv.Rowfiler = "Price> 4 ";

DG.DataSource = dv ;
DG.DataBind();

这个正解!
------解决方案--------------------------------------------------------
DataView dv = DataTable1.DefauleView()

dv.Rowfiler = "Price < 5 ";

DG.DataSource = dv ;
DG.DataBind();

------解决方案--------------------------------------------------------
上面都解决了,过滤
------解决方案--------------------------------------------------------

dv.Rowfiler = "Price> 4 ";


------解决方案--------------------------------------------------------

------解决方案--------------------------------------------------------
定义一个DataView

DataView dv = DataTable1.DefauleView()

dv.Rowfiler = "Price> 4 ";

DG.DataSource = dv ;
DG.DataBind();
--------------
顶了
------解决方案--------------------------------------------------------
1.dv.Rowfiler = "Price < 5 ";
2.在sql语句中where判断
------解决方案--------------------------------------------------------
那能不能在绑定时用SQL过滤了呢?
------解决方案--------------------------------------------------------
不行就考虑用客户端控制了,在绑定数据时Price> 4的记录就不显示了
  相关解决方案