当前位置:编程学习 > C#/ASP.NET >>

做ASP。NET的都不得不看的帖子

我做了一个目录程序,分主次目录,主目录跟次目录都分在同一个数据表里,而主目录的classid字段的值如果为1,而次目录的classmembership字段为1,则这个此目录从属于classid为1的主目录
如下:
classid classname classmembership
   1      甲主目录       0
   2      乙主目录       0
   3      甲次目录       1(这个1为上面甲主目录的classid)
   4      乙次目录       2(这个2为上面乙主目录的classid)


我现在已经利用程序实现了将数据在gridview进行显示,并且将属同一主目录的相同数据的列单元合并成一起
比如
    classmembership classname
                     甲次目录
                     甲次目录                      
                     甲次目录
                     甲次目录
          1          甲次目录
                     甲次目录
                     甲次目录
----------------------------------
                     乙次目录
                     乙次目录                      
                     乙次目录
                     乙次目录
          2          乙次目录
                     乙次目录
                     乙次目录
---------------------------------------

这样都没有问题了。现在的问题是前面不要显示为1或2这样的数字ID,我要显示的是其依附的主目录的名字:比如甲主目录,乙主目录这样的文字。
不知道怎么实现

我的做法是使用两个dataset,一个dataset是显示次目录数据,一个dataset是从前面一个dataset里取次目录的classmembership过来做查询参数classid值进行重新查询,取主目录的名字(文字),然后显示在相应的位置,现在是这些数据被我用数组取了过来,我该如何把数组(在后台CS代码里取的)反映在前台代码(后缀名aspx)的dataview里呢?要知道数组是有维数的,就是后面中括号里的变量,传递到前台文件的话又怎么让他递增呢?

这是我的思路我估计思路不对,如果你们能实现的话会用什么办法呢?
          --------------------编程问答-------------------- up --------------------编程问答-------------------- 晕啊,你的标题太吓人了。
你用sql语句,把‘1’和‘2’替换成对应的目录就可以了。 --------------------编程问答-------------------- 不用啊,直接写个根据ID得到名称的方法,调用就可以了啊 --------------------编程问答-------------------- 我還以爲是什麽問題?
好了,我已經看過了 --------------------编程问答--------------------
引用 2 楼 haonanzhao 的回复:
晕啊,你的标题太吓人了。
你用sql语句,把‘1’和‘2’替换成对应的目录就可以了。

什么意思,用as?,还是怎么替换?能具体点吗 --------------------编程问答--------------------
引用 4 楼 linux_ch 的回复:
我還以爲是什麽問題?
好了,我已經看過了

能解答下吗,答者有分 --------------------编程问答--------------------
引用 3 楼 try530 的回复:
不用啊,直接写个根据ID得到名称的方法,调用就可以了啊

具体怎么搞,我现在有点头晕,你说具体点吧 --------------------编程问答-------------------- Jf --------------------编程问答-------------------- 内连接,应该就可以了。 --------------------编程问答-------------------- 真假
下次你再喊狼来了 你试试有人理你没 --------------------编程问答-------------------- 靠 LZ标题党 --------------------编程问答-------------------- 最好的方法就是你再加个classname,取的时候就直接取出来了,只不过再添加的时候多写一个字段,效率上能有很大的提高 --------------------编程问答-------------------- 晕 晕 晕 晕 晕 晕 晕  --------------------编程问答-------------------- 好多字啊,我们不是打字员,尽量突出重点·· 没看直接回复了 -_-@!! --------------------编程问答-------------------- 楼主真强,刚刚回了一个
http://topic.csdn.net/u/20080827/15/f1c97c9c-012f-4f1c-89df-c78f4eaebf56.html --------------------编程问答-------------------- 标题党
3楼说的方法就可以 --------------------编程问答--------------------
引用 3 楼 try530 的回复:
不用啊,直接写个根据ID得到名称的方法,调用就可以了啊


BS标题党 --------------------编程问答-------------------- up --------------------编程问答-------------------- 写个CASE选择就行了嘛,LZ表建得不规范,最好主次目录分两个表,查询的时候直接根据classmembership在主目录表里查询名字就行了 --------------------编程问答-------------------- 也太垃圾了.... --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 标题 --------------------编程问答-------------------- 拖出去阉了...奶奶地。 --------------------编程问答-------------------- Select p.classname as parentClassname,c.classname,c.classid from newclass s INNER JOIN newclass c on c.classmembership=p.id --------------------编程问答-------------------- 脚踩攻击光环B4楼主 --------------------编程问答-------------------- 上面手误
Select p.classname as parentClassname,c.classname,c.classid from newclass p INNER JOIN newclass c on c.classmembership=p.id
--------------------编程问答-------------------- up --------------------编程问答--------------------
引用 17 楼 yigeming 的回复:
BS标题党
--------------------编程问答-------------------- up
--------------------编程问答-------------------- 以后再不出来吓人了呀。。。 --------------------编程问答-------------------- 顶呀
--------------------编程问答-------------------- 也可以在bounded事件里写if(ss.Text=="1") ss.Text="目录名"; --------------------编程问答--------------------
引用 23 楼 gongsun 的回复:
拖出去阉了...奶奶地。
--------------------编程问答-------------------- 你把你要显示目录名称的哪个列,也就是你在例子中的哪个1,2的列设置为自定义绑定列。然后你在前台源码gridview中会看到这列的源码,其中有个<%#bind(‘字段’)%>。
进入后台代码。添加一个方法:
public string GetName(int ID) 
    {
       
        //这里就写根据ID查询目录名称的代码。

         然后return 查询出来的这个名字就可以了。
        
    }

在前台源码中把<%#bind(‘字段’)%>改为<%# GetName(int.Parse(Eval("ID字段").ToString())) %>

ok

祝你成功
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,