zoukankan      html  css  js  c++  java
  • 支持树型的GridView控件

     

    支持树型的GridView

    实现思路: 继承自Gridview,处理gridview的数据源,使其在帮定时,就已经按照树型菜单顺序排列好,那样只需在帮定处理其图片是javascript脚本就可以了

    源代码下载:https://files.cnblogs.com/wschacker/TreeListView.rar

    效果图:

    代码:

    Code
     public class TreeListViewRow : GridViewRow
        
    {
            
    public TreeListViewRow(int rowIndex, int dataItemIndex, DataControlRowType rowType, DataControlRowState rowState)
                : 
    base(rowIndex, dataItemIndex, rowType, rowState)
            
    {

            }

            
            
    protected override void OnPreRender(EventArgs e)
            
    {
                
    base.OnPreRender(e);
                
    if (this.RowType == DataControlRowType.DataRow)
                
    {
                    
    if (this.Parent.Parent is TreeListView)
                    
    {
                        TreeListView treeListView 
    = this.Parent.Parent as TreeListView;
                        DataRow dr 
    = ((DataTable)treeListView.DataSource).Rows[this.DataItemIndex] as DataRow;
                        
    string str = GetTreeNodeImg(dr, Convert.ToBoolean(dr["TreeListView$Row$IsLeaf"]), Convert.ToBoolean(dr["TreeListView$Row$IsBottom"]));
                        
    this.Cells[treeListView.NodeColumnIndex].Text = str + this.Cells[treeListView.NodeColumnIndex].Text;
                        
    this.ID = dr["TreeList$ViewRow$ClientID"].ToString();
                        
    if (treeListView.ExpendDepth > 0)
                        
    {
                            
    this.Style["display"= treeListView.ExpendDepth >= Convert.ToInt32(dr["TreeListView$Row$Depth"]) ? "block" : "none";
                        }

                    }

                }

                
            }


            
    获取Tree的图片

    Js代码实现折叠效果

    Code
  • 相关阅读:
    20111013 18:32 女友刁钻无聊问题之标准答案
    20111013 17:40 学ACM有什么用
    typedef用法(1)
    深入C++的new(20111115 15:08 )
    用四个0算二十四点
    20111010 20:14 HDU 4021 (15数码)
    pku3020 Antenna Placement (解法1)
    C++箴言:理解typename的两个含义
    20110907 00:16 ubuntu 如何修改当前用户名
    vc6.0中添加msdn 20111105 11:52
  • 原文地址:https://www.cnblogs.com/wschacker/p/1250446.html
Copyright © 2011-2022 走看看