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

存储过程实现无限级分类(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!

  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值