存储过程实现无限级分类(3)
存储过程实现无限级分类(3)
最后一步显示分类(只是一条select语句)
AS
SELECT Column_ID, Column_Name, Parent_ID, Column_Path, Column_Depth,
Column_Order, Column_Intro
FROM Tb_Column
ORDER BY Column_Order
GO
接下来就是在界面呈现了 , 显示的时候用的是DataGrid
Html代码如下:
<Columns>
<asp:TemplateColumn HeaderText="分类信息">
<ItemTemplate>
<asp:Label id="lbname" runat="server"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="tbdgname" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"Column_Name")%>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="添加子节点">
<ItemTemplate>
<a href="#" onclick="Open('AddSonCate.aspx?fid=<%#DataBinder.Eval(Container.DataItem,"Column_Id")%>','son',280,80)">添加子分类</a>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="编辑">
<ItemTemplate>
<asp:LinkButton runat="server" Text="编辑" CommandName="Edit" CausesValidation="false"></asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton runat="server" Text="更新" CommandName="Update" CausesValidation="False"></asp:LinkButton>
<asp:LinkButton runat="server" Text="取消" CommandName="Cancel" CausesValidation="false"></asp:LinkButton>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="删除">
<ItemTemplate>
<asp:LinkButton runat="server" ID="lbdelete" Text="删除" CommandName="Delete" CausesValidation="false" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"Column_Id")%>'>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
最关键的地方在DataGrid_ItemDataBind事件中
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//得到Column_Name字段的值
string columnName = (string)DataBinder.Eval(e.Item.DataItem, "Column_Name");
string columnTemp = "";
//得到深度值Column_Depth
int columnDepth = Int32.Parse(DataBinder.Eval(e.Item.DataItem,"Column_Depth").ToString());
if(columnDepth>1)
{
for(int i = 1;i<columnDepth;i++)
{
columnTemp +=" ";
}
columnTemp+="┝";
}
Label lbname = (Label)e.Item.FindControl("lbname");
lbname.Text = columnTemp+columnName ;
LinkButton lbdelete = (LinkButton)e.Item.FindControl("lbdelete");
lbdelete.Attributes.Add("OnClick","JavaScript:return confirm('确实要删掉此分类吗?');");
}
}
Over!
转载于:https://www.cnblogs.com/xbf321/archive/2007/09/17/895978.html
存储过程实现无限级分类(3)相关推荐
- 无限级分类实现思路 (组织树的分级管理)
2019独角兽企业重金招聘Python工程师标准>>> 关于该问题,暂时自己还没有深入研究,在网上找到几种解决方案,各有优缺点. 第一种方案: 使用递归算法,也是使用频率最多的,大部 ...
- jquery实现层级显示 效果图_php运用无限级分类实现评论及回复功能
经常在各大论坛或新闻板块详情页面下边看到评论功能,当然不单单是直接发表评论内容那么简单,可以对别人的评论进行回复,别人又可以对你的回复再次评论或回复,如此反复,理论上可以说是没有休止; 从技术角度分析 ...
- .net简单算法实现无限级分类(一)
在项目中我们往往需要实现无限级分类,而网上的.NET的例子不是很多,asp的倒是不少,这个算法是我根据网上的asp的例子在结合.net中的TREEVIEW控件来实现多级甚至无限级分类. 对于 ...
- php修改新闻分类代码,完整的新闻无限级分类代码,可添加,删除,移动,修改
//连接数据库教程 $link = mysql教程_connect('localhost','root','密码') or die(mysql_error()); mysql_select_db('s ...
- 迭代与递归实现无限级分类
无限级分类是开发中常见的情况了,在这里我收藏了下并整理了下常见的无限极分类算法总结归纳. <?php $arr = [1=>['id'=>1,'name'=>'家居','fat ...
- ASP.NET 无限级分类实现实例(深度字段)
下图中红色箭头是父类 而且属于根目录级别. 下面个字段为:ID 父ID 类型名称 深度 排序 前面3个字段没有什么可解释的,做过无限级分类设计的人都应该清楚 而第5个字段排序字段ID:43的23排序代 ...
- php无限分类原理,php 递归无限级分类原理和实现代码
递归无限级分类的原理: 每一个分类都记录它的父级id,当为顶级分类时,父级id为0.这样无论哪个分类,都可以通过父级id一层一层去查明它的所有父级,以便清楚知道它所属何种分类,层级深度为几. 对数据进 ...
- DropDownList实现无限级分类
要想实现无限级分类,那得还用传统的老方法----递归,也许有很多人会抱怨递归的性能不是太理想.俗话说的话,能抓到老鼠的猫就是好猫.我提倡先解决问题,然后再优化性能. 数据库结构: 代码: protec ...
- 夺命雷公狗---无限级分类NO3
<?phpheader("Content-Type:text/html;charset=utf-8");/*无限级分类.牵扯2个应用0是-找指定栏目的子栏目1是-找指定栏目的 ...
最新文章
- python使用matplotlib可视化棉签图、棉棒图(stem plot)、展示离散而有序的数据
- 计算机论文答辩2分钟演讲稿,毕业答辩发言稿三分钟
- php instanceof 基类,PHP强制对象类型之instanceof操作符
- 第 18 章 Policy
- 不重启修改计算机名称,批处理不重启快速修改计算机名
- java 与 区别
- hdu 3221 Brute-force Algorithm(高速幂取模,矩阵高速幂求fib)
- php数据库密码查询,php数据库查询及密码匹配的功能
- 日期格式化java_JAVA格式化时间日期
- 【工科数学分析】2021-10-01-工科数学分析叒复习(二)
- ftp误删服务器文件恢复,ftp服务器文件误删
- 百度地图开放平台天气预报查询API
- 村田【元宇宙】要火,但不能“起火”—— 电池:半固态凝胶软包电池篇
- 从零开始足球战术分析
- vue手写上一页下一页
- “智多星”手机销售网
- Bootstrap级联下拉菜单,你肯定用得到
- Panda3D 初学者教程(一)
- 什么是DataOps?难道DataOps只是面向Data 的Ops吗?
- ios 绕过 id 锁