怎样控制datalist数据行的显示或隐藏?

itzhiren 2008-05-28 04:10:20
我做了个查询,先查出产品类别以及类别说明,然后根据该产品类别和查询条件来查询产品,如果该产品类别下面没有满足条件的产品,那么就不用显示该产品类别及其说明了,所以datalist1中又套了一个datalist2,需要判断一下如果没有记录,就把datalist1中的这一行隐藏

该怎么实现?
...全文
444 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hecture 2009-12-28
建议换一个控件。比如GridView

datalist难于实现

如果你的数据比较简单的话可以:用逐个影藏的办法。代码如下:
 protected void btwrong_Click(object sender, EventArgs e)
{
string str = "";
//显示错题代码 **********************************
for (int tID1 = 1; tID1 <= DataList1.Items.Count; tID1++)
{

if (str != "")
{
if (((Label)DataList1.Items[tID1 - 1].FindControl("lblc")).Text.Trim() == str)//将用户选择结果和进行比较
{
((Label)DataList1.Items[tID1 - 1].FindControl("lbl1")).Visible = false;





((Label)DataList1.Items[tID1 - 1].FindControl("lbln")).Visible = false;

}
else

{
((Label)DataList1.Items[tID1 - 1].FindControl("lbl1")).Visible = ture;





((Label)DataList1.Items[tID1 - 1].FindControl("lbln")).Visible = true;

}

}

  • 打赏
  • 举报
回复
itzhiren 2008-06-02
无法在一个sql语句中完成

请注意5楼的补充说明
  • 打赏
  • 举报
回复
一品梅 2008-06-02
在sql command中过滤就行了。
  • 打赏
  • 举报
回复
hongcha99 2008-06-02
2楼
  • 打赏
  • 举报
回复
itzhiren 2008-05-28
[Quote=引用 6 楼 amandag 的回复:]
绑定DataList2的时候判断是否有记录
[/Quote]

可以判断是否有记录,就是不知道怎么控制datalist1的显示或者隐藏
  • 打赏
  • 举报
回复
vam_ma 2008-05-28
判断的方法当然有:
比如这样
for(int i=0;i<this.DataGrid1.Items.Count;i++)
{
if(true)
{
this.DataGrid1.Items[i].Visible = false;
}
}
  • 打赏
  • 举报
回复
amandag 2008-05-28
绑定DataList2的时候判断是否有记录
  • 打赏
  • 举报
回复
itzhiren 2008-05-28
而且不重复显示产品,比如,产品1属于类别a和类别b,如果在类别a中显示了该产品,那么类别b中就不显示这个产品了
  • 打赏
  • 举报
回复
itzhiren 2008-05-28
没有这么简单,因为一个产品可能属于两个类别,所以,产品表中有cid1和cid2来表示两个类别
  • 打赏
  • 举报
回复
FishFlying1985 2008-05-28
[Quote=引用 2 楼 wangkun9999 的回复:]
如果在数据库设计上作修改会方便实现点:
在类别表中增加产品计数字段(如:PouctCount),存放每类产品的数量;
显示的时候只取PouctCount>0的记录,select * from 产品类别表 where PouctCount>0,绑定数据源就可以了.
[/Quote]
好方法
  • 打赏
  • 举报
回复
wangkun9999 2008-05-28
如果在数据库设计上作修改会方便实现点:
在类别表中增加产品计数字段(如:PouctCount),存放每类产品的数量;
显示的时候只取PouctCount>0的记录,select * from 产品类别表 where PouctCount>0,绑定数据源就可以了.
  • 打赏
  • 举报
回复
没必要那么做
你在表添加一条件列
比如添加一列isshow 默认是0 显示1

select * from 表 where isshow=1
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

6.0w+

社区成员

.NET技术交流专区
社区管理员
  • ASP.NET
  • R小R
  • 喵叔哟
帖子事件
创建了帖子
2008-05-28 04:10
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。