无限类别,无限子类,无限菜单,无限规则, _层的的下属计算
2006-09-21 10:59
148 查看
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { string sql=""; Inc inc=new Inc(); if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem) { ((Label)e.Item.FindControl("numbers")).Text=this.number.ToString(); this.number+=1; e.Item.Attributes.Add("onmouseover","c=this.style.backgroundColor;this.style.backgroundColor='#6699ff'"); e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=c"); int classID=Convert.ToInt32(DataBinder.Eval(e.Item.DataItem,"id"));//本类ID int layer=Convert.ToInt32(DataBinder.Eval(e.Item.DataItem,"layer"));//本类层 int parent=Convert.ToInt32(DataBinder.Eval(e.Item.DataItem,"parent"));//本类的父类 ((HyperLink)e.Item.FindControl("hlGo")).NavigateUrl="admin_Addproduct.aspx?classid="+classID.ToString()+"&layer="+Convert.ToString(layer+1)+"&parent="+parent.ToString(); //计算本类下商品数量 int theClassProCount=0;//本类下商品数量,不包含子类商品 sql="select count(*) from product where proClassID="+classID; theClassProCount=Convert.ToInt32(inc.getItem(sql)); //计算本类下所有商品数量 int theClassProCountAll=theClassProCount;// int theClassLayer=0;//类表中层数量 sql="select top 1 layer from proclass order by layer desc"; theClassLayer=Convert.ToInt32(inc.getItem(sql)); sql="select id from proClass where parent="+classID; DataSet ds=inc.getDataSet(sql);//本类下一层子类 theClassProCountAll=theClassProCountAll+this.classCountPro(layer+1,theClassLayer,ds); ((Label)e.Item.FindControl("lblProCount")).Text=theClassProCount.ToString()+"/"+theClassProCountAll.ToString(); } } private int classCountPro(int start,int over,DataSet ds) { int count=0; string sql=""; Inc inc=new Inc(); if(start<=over) { foreach (DataRow row in ds.Tables[0].Rows) foreach (DataColumn column in ds.Tables[0].Columns) if (row[column] != null) { sql="select count(*) from product where proClassID="+row[column].ToString(); count=count+Convert.ToInt32(inc.getItem(sql)); sql="select id from proClass where parent="+row[column].ToString(); DataSet dsNew=inc.getDataSet(sql); count=count+this.classCountPro(start+1,over,dsNew); } return count; } return 0; }
相关文章推荐
- [php类]多级类别树的生成(无限级select,二级管理菜单,无限级meizz的树)
- 无限级别菜单的实现
- A、B两伙马贼意外地在一片沙漠中发现了一处金矿,双方都想独占金矿,但各自的实力都不足以吞下对方,经过谈判后,双方同意用一个公平的方式来处理这片金矿。处理的规则如下:他们把整个金矿分成n段,由A、B开始轮流从最左端或最右端占据一段,直到分完为止。 马贼A想提前知道他们能分到多少金子,因此请你帮忙计算他们最后各自拥有多少金子?(两伙马贼均会采取对己方有利的策略)
- 使用neo4j存储树形无限级菜单
- PS图像菜单下计算命令
- 一个可以无限扩展层次级的折叠菜单
- 利用排序规则特点计算汉字笔划和取得拼音首字母
- 输入整数角谷步数 你听说过角谷猜想吗? 任意的正整数,比如 5, 我们从它开始,如下规则计算: 如果是偶数,则除以2,如果是奇数,则乘以3再加1. 如此循环,最终必会得到“1” !输入整数
- 实现基于Ajax的无限级菜单
- CSDN的博客积分计算规则及博客排名规则
- 一个更简单的无限级分类菜单代码
- 使用Popup窗口创建无限级Web页菜单(5)
- 无限级CSS树形菜单 Ver2.0
- CSDN博客积分计算规则
- 无刷新实现无限级联动菜单(转贴)
- css优先级计算规则
- 建议博客园改变排名计分规则:增加对trackback的计算
- 转:CSDN的博客积分计算规则及博客排名规则
- 求不规则图形外接圆的算法 (附:三角形外接圆计算公式)
- CSDN的博客积分计算规则及博客排名规则