存储过程实现无限级分类(3)

最后一步显示分类(只是一条select语句)

CREATE PROCEDURE sp_Column_List 
 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代码如下:

<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" Width="520px" DataKeyField="Column_Id">
                                <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>&nbsp;
                                            <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事件中

private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        {
            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 +="&nbsp;&nbsp;&nbsp;&nbsp;";
                    }
                    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)相关推荐

  1. 无限级分类实现思路 (组织树的分级管理)

    2019独角兽企业重金招聘Python工程师标准>>> 关于该问题,暂时自己还没有深入研究,在网上找到几种解决方案,各有优缺点. 第一种方案: 使用递归算法,也是使用频率最多的,大部 ...

  2. jquery实现层级显示 效果图_php运用无限级分类实现评论及回复功能

    经常在各大论坛或新闻板块详情页面下边看到评论功能,当然不单单是直接发表评论内容那么简单,可以对别人的评论进行回复,别人又可以对你的回复再次评论或回复,如此反复,理论上可以说是没有休止; 从技术角度分析 ...

  3. .net简单算法实现无限级分类(一)

    在项目中我们往往需要实现无限级分类,而网上的.NET的例子不是很多,asp的倒是不少,这个算法是我根据网上的asp的例子在结合.net中的TREEVIEW控件来实现多级甚至无限级分类.      对于 ...

  4. php修改新闻分类代码,完整的新闻无限级分类代码,可添加,删除,移动,修改

    //连接数据库教程 $link = mysql教程_connect('localhost','root','密码') or die(mysql_error()); mysql_select_db('s ...

  5. 迭代与递归实现无限级分类

    无限级分类是开发中常见的情况了,在这里我收藏了下并整理了下常见的无限极分类算法总结归纳. <?php $arr = [1=>['id'=>1,'name'=>'家居','fat ...

  6. ASP.NET 无限级分类实现实例(深度字段)

    下图中红色箭头是父类 而且属于根目录级别. 下面个字段为:ID 父ID 类型名称 深度 排序 前面3个字段没有什么可解释的,做过无限级分类设计的人都应该清楚 而第5个字段排序字段ID:43的23排序代 ...

  7. php无限分类原理,php 递归无限级分类原理和实现代码

    递归无限级分类的原理: 每一个分类都记录它的父级id,当为顶级分类时,父级id为0.这样无论哪个分类,都可以通过父级id一层一层去查明它的所有父级,以便清楚知道它所属何种分类,层级深度为几. 对数据进 ...

  8. DropDownList实现无限级分类

    要想实现无限级分类,那得还用传统的老方法----递归,也许有很多人会抱怨递归的性能不是太理想.俗话说的话,能抓到老鼠的猫就是好猫.我提倡先解决问题,然后再优化性能. 数据库结构: 代码: protec ...

  9. 夺命雷公狗---无限级分类NO3

    <?phpheader("Content-Type:text/html;charset=utf-8");/*无限级分类.牵扯2个应用0是-找指定栏目的子栏目1是-找指定栏目的 ...

最新文章

  1. python使用matplotlib可视化棉签图、棉棒图(stem plot)、展示离散而有序的数据
  2. 计算机论文答辩2分钟演讲稿,毕业答辩发言稿三分钟
  3. php instanceof 基类,PHP强制对象类型之instanceof操作符
  4. 第 18 章 Policy
  5. 不重启修改计算机名称,批处理不重启快速修改计算机名
  6. java 与 区别
  7. hdu 3221 Brute-force Algorithm(高速幂取模,矩阵高速幂求fib)
  8. php数据库密码查询,php数据库查询及密码匹配的功能
  9. 日期格式化java_JAVA格式化时间日期
  10. 【工科数学分析】2021-10-01-工科数学分析叒复习(二)
  11. ftp误删服务器文件恢复,ftp服务器文件误删
  12. 百度地图开放平台天气预报查询API
  13. 村田【元宇宙】要火,但不能“起火”—— 电池:半固态凝胶软包电池篇
  14. 从零开始足球战术分析
  15. vue手写上一页下一页
  16. “智多星”手机销售网
  17. Bootstrap级联下拉菜单,你肯定用得到
  18. Panda3D 初学者教程(一)
  19. 什么是DataOps?难道DataOps只是面向Data 的Ops吗?
  20. ios 绕过 id 锁

热门文章

  1. VMware虚拟机NAT模式网络配置图文教程
  2. python3 用pygame 简单建一个飞船模型
  3. 手机壳鸿蒙,手机壳黑榜发布 真相太惊人!
  4. 源码包编译PHP5.6,源码编译安装php5.6
  5. 关于eclipse不编译项目的问题解决
  6. Silverlight4中用net.tcp双工方式进行通信
  7. 【转】android-修改TextView中部分文字的颜色
  8. 一个很棒的Flutter学习资源列表
  9. 数论练习(1)——取余运算(快速幂)
  10. C语言中简单的for循环和浮点型变量