FineUI 官方论坛

标题: 这是一个bug吗 [打印本页]

作者: 宇洋    时间: 2012-12-1 07:48
标题: 这是一个bug吗
本帖最后由 宇洋 于 2012-12-1 07:57 编辑

我的数据如图所示
[attach]1376[/attach]
我通过Grid的树形列来展示课程结构(如:photoshop和coreldraw应该是平面设计下的,aSP.NET和PHP是程序设计下的)
我的代码如下:
<ext:Grid runat="server" ID="gridProfession" ShowBorder="true" PageSize="15" ShowHeader="true"
                Title="专业管理" Width="1195px" Height="375px" AllowPaging="true" DataKeyNames="ProfessionID"
                EnableCheckBoxSelect="true">
                <Columns>
                  <ext:BoundField Width="30px" DataField="ProfessionID" HeaderText="ID" Hidden="true" />
                  <ext:BoundField Width="150px" DataField="ProfessionName" HeaderText="专业名称" DataSimulateTreeLevelField="ProfessionLevel" />
                  <ext:BoundField Width="400px" DataField="ProfessionDescribe" HeaderText="专业介绍" ExpandUnusedSpace="true" />
                  <ext:WindowField ColumnID="winAddColumn" Width="50px" ToolTip="编辑" HeaderText="编辑"
                    WindowID="winAddProfession" Icon="UserEdit" DataTextFormatString="{0}"
                    DataIFrameUrlFormatString="AddProfession.aspx?Id={0}" DataIFrameUrlFields="ProfessionID"
                    DataWindowTitleField="ProfessionName" DataWindowTitleFormatString="编辑专业-{0}" />
                </Columns>
              </ext:Grid>
但是程序远行结果是如下图所示:
[attach]1377[/attach]
在表格中是按我在数据库中输入记录顺序显示的,而不是按照层次来显示的。这是为什么?
是我程序写错了,还是控件的bug?
在树形dropdownlist中也是一样的问题。


作者: 司法署    时间: 2012-12-5 07:11
先从数据库中把顺序排好


--typeCode根目录代码 Menucode 子目录代码
create function f_getC(@id int)
returns @re table(id int,level int,sort varchar(100))
        as
        begin   
                declare @l int     
                set @l=0     
                insert @re select Menucode,@l,right('00'+ltrim(Menucode),2)
                from tb_Menu where typeCode=@id   
                while @@rowcount>0   
                        begin         
                                set @l=@l+1        
                                insert @re  
                                select a.Menucode,@l,b.sort+right('00'+ltrim(a.Menucode),2)     
                                from tb_Menu as a,@re as b   
                                where b.id=a.typeCode and b.level=@l-1   
                        end   
                update @re
                set level = level   
                return
        end
go

select * from tb_Menu a,f_getC(0) b where
  a.Menucode=b.id order by sort
  




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4