日期:2014-05-19  浏览次数:20487 次

|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的记录就不显示了