ITPUB??ì3
ITPUB论坛 » Web开发 » ASP.NET与AJAX » 请教GridView循环的问题


标题: 请教GridView循环的问题
离线 新意纤维
一般会员



精华贴数 0
个人空间 0
技术积分 134 (13019)
社区积分 0 (1201596)
注册日期 2006-12-7
论坛徽章:0
      
      

发表于 2006-12-12 15:32 
请教GridView循环的问题

我现在要做一个新闻系统,新闻的分级和分类是不确定的,比如其中的一个一级分类为:新闻中心,新闻中心下面的二级分类是:国际新闻,国内新闻...  其中,国际新闻下面可能还有三级分类如:美国新闻,英国新闻...

注意:只有最底层的分类下面才有具体的文章,比如新闻中心这个类别下面并没有具体的文章,一篇文章肯定是属于某个最底层的分类,比如这里的美国新闻.

如果用户点击某一分类,就显示该分类的新闻列表,如果这个分类是最底层的,比如这里的美国新闻,那么我在页面上放一个gridview绑定数据即可,效果大致如下:
首页>>新闻中心>>国际新闻>>美国新闻

             标题          时间
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx  

但是现在的问题是,如果用户点击的分类不是最底层的,而是新闻中心,那么我就想把该类别以下的所有类别都显示出来,大致效果如下:

首页>>新闻中心

  --->>国际新闻
  --------->>美国新闻

             标题          时间
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx  

  --------->>英国新闻

             标题          时间
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx

  --->>国内新闻

             标题          时间
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx

同理,如果用户点击的分类不是最底层的,而是国际新闻,那么我就想把该类别以下的所有类别都显示出来,大致效果如下:

首页>>新闻中心>>国际新闻

  
  -->>美国新闻

             标题          时间
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx  

  -->>英国新闻

             标题          时间
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx
         xxxxxxxxxxxxxx xxxxxxxx


---------------------------------------
请问怎么实现呢? 用循环吗?  可是我不知道GridView控件怎么个循环法,因为分类是不确定的,我不好预先就放几个GridView在页面中,但是如果不预先放置,那CS文件中又不好绑定数据源,请大家帮忙,谢谢!


只看该作者    顶部
离线 mm_xlhy123
一般会员



精华贴数 0
个人空间 0
技术积分 90 (17743)
社区积分 0 (1204696)
注册日期 2006-12-7
论坛徽章:0
      
      

发表于 2006-12-12 15:33 
GridView嵌套GridView~


只看该作者    顶部
离线 新意纤维
一般会员



精华贴数 0
个人空间 0
技术积分 134 (13019)
社区积分 0 (1201596)
注册日期 2006-12-7
论坛徽章:0
      
      

发表于 2006-12-12 15:35 
楼上大哥,能详细点说一下吗?不太明白


只看该作者    顶部
离线 mm_xlhy123
一般会员



精华贴数 0
个人空间 0
技术积分 90 (17743)
社区积分 0 (1204696)
注册日期 2006-12-7
论坛徽章:0
      
      

发表于 2006-12-12 15:36 
稍稍详细说说:

<aspataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1">
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "类别名称"%>
        --&gt;<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="SqlDataSource1">
            <Columns>
                <asp:BoundField DataField="标题" HeaderText="标题" SortExpression="标题" />
                <asp:BoundField DataField="时间" HeaderText="时间" SortExpression="时间" />
            </Columns>
        </asp:GridView>
        <asp:AccessDataSource ID="AccessDataSource1" runat="server"></asp:AccessDataSource>
    </ItemTemplate>
</aspataList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server">
    <SelectParameters>
        <asp:QueryStringParameter Name="类别编号" QueryStringField="typeid" />
    </SelectParameters>
</asp:SqlDataSource>
首先需要上面的HTML,外层是一个DataList,绑定一个DataSource控件,该控件可能需要一个存储过程,获取某个指定类别下的所有子类别,Select参数可以使用QueryStringParmamter


只看该作者    顶部
离线 mm_xlhy123
一般会员



精华贴数 0
个人空间 0
技术积分 90 (17743)
社区积分 0 (1204696)
注册日期 2006-12-7
论坛徽章:0
      
      

发表于 2006-12-12 15:36 
然后,DataList里面绑定的是GridView和与之匹配的DataSource控件,这个DataSource也需要配置好他的sql语句和Select参数,参数源选择“none”


只看该作者    顶部
离线 mm_xlhy123
一般会员



精华贴数 0
个人空间 0
技术积分 90 (17743)
社区积分 0 (1204696)
注册日期 2006-12-7
论坛徽章:0
      
      

发表于 2006-12-12 15:37 
最后,里层的DataSource控件通过下面的代码动态指定其参数的值:
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemIndex > -1)
        {
            DataRowView row = e.Item.DataItem as DataRowView;
            AccessDataSource ads = e.Item.FindControl("AccessDataSource1" as AccessDataSource;
            ads.SelectParameters[0].DefaultValue = row["类别编号"].ToString();
        }
    }


只看该作者    顶部
离线 mm_xlhy123
一般会员



精华贴数 0
个人空间 0
技术积分 90 (17743)
社区积分 0 (1204696)
注册日期 2006-12-7
论坛徽章:0
      
      

发表于 2006-12-12 15:37 
这里还有一个类似例子可以参考:
http://www.cnblogs.com/eddie005/archive/2006/07/04/442845.html

你看看吧


只看该作者    顶部
离线 新意纤维
一般会员



精华贴数 0
个人空间 0
技术积分 134 (13019)
社区积分 0 (1201596)
注册日期 2006-12-7
论坛徽章:0
      
      

发表于 2006-12-12 15:40 
谢谢mm_xlhy123 多谢!


只看该作者    顶部
离线 水草园主
初级会员



精华贴数 0
个人空间 0
技术积分 98 (16675)
社区积分 7 (13067)
注册日期 2006-12-13
论坛徽章:0
      
      

发表于 2006-12-14 13:54 
是个好方法啊!


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问