前台代码:
 <asp:DataList ID="DataList3" runat="server" OnItemDataBound="DataList3_ItemDataBound">
                                    <ItemTemplate>
                                    
                                        <table width="170" border="0" align="center" cellpadding="0" cellspacing="0" class="test_blue">
                                    <tr>
                                        <td height="8">
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="174" style="height: 16px">
                                        <asp:Label ID="lam" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "mtitle")%>'></asp:Label>
                                            </td>
                                            
                                    </tr>
                                    <tr>
                                        <td>
                                            <br />
                                           
                                            <asp:HiddenField ID="hid" runat="server" Value='<%# DataBinder.Eval(Container.DataItem, "mtitle")%>' />
                                        
                                         <%-- <asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatColumns="3">
                        </asp:RadioButtonList>--%>
                                         <asp:BulletedList ID="bul1" runat="server" DisplayMode="LinkButton"></asp:BulletedList>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td height="8" background="images/text_line2.gif">
                                        </td>
                                    </tr>
                                </table>
                                
                                    </ItemTemplate>
                                </asp:DataList>
后台代码:
 protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
          daohan();
           
        }
    }
 private void daohan() 
    {
        try
        {
            conn.Open();
            string strew = "select * from Smap";
            SqlDataAdapter da = new SqlDataAdapter(strew, conn);
            DataSet ds = new DataSet();
            da.Fill(ds, "Smap");
            DataList3.DataSource = ds.Tables[0].DefaultView;
            DataList3.DataBind();
            conn.Close();
        }
        catch(Exception ex)
        {
            Response.Write(ex.Message);
        }
    }
    protected void DataList3_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            BulletedList rbl = (BulletedList)e.Item.FindControl("bul1");
            HiddenField hf = (HiddenField)e.Item.FindControl("hid");
            if ((rbl != null) && (hf != null))
            {
                string strq = "select title from Commentary where m_id='" + hf.Value.ToString().Trim() + "'";
                SqlDataAdapter da = new SqlDataAdapter(strq, conn);                rbl.DataTextField = "title";
                rbl.DataValueField = "title";
                DataSet ds = new DataSet();
                da.Fill(ds, "Commentary");
                rbl.DataSource = ds.Tables[0].DefaultView;
                rbl.DataBind();            }
        }
    }现在的效果是这样的标题
.2级标题
.2级标题
.2级标题
--------
标题
.2级标题
.2级标题
.2级标题
因为我用了BulletedList 控件...所以就这样的结果
我想知道怎么样才能实现
标题
2级标题 2级标题 2级标题
--------
标题
2级标题 2级标题 2级标题
这样的效果??呢
请指点下~~最好有点代码...谢谢...

解决方案 »

  1.   

    BulletedList  应该能设置横向的吧我没用过 你找找有没有什么Ver....都是微软害得啊,离开了IDE什么都做不了了
      

  2.   

    没这个属性...
    我想问不用BulletedList  可以不..怎么实现..
      

  3.   

    里面的datalist布局方向改一下
      

  4.   

    datalists设了没用的..
    有没有什么好法子不用BulletedList  控件..这控件定死的...
      

  5.   

    RepeatDirection=Horizontal RepeatColumns="2" 在datalist设置这个参数就行了.
      

  6.   

    这个是设置datalist列是2列的....
    标题 ----->>单独一张表的字段,,这个是列
    .2级标题 ---->>
    .2级标题 ---->>单独一张表的字段
    .2级标题 ---->>
    -------- 
    标题 
    .2级标题 
    .2级标题 
    .2级标题 知道吧.....我要列标题竖着显示
    里面的小标题横着...
    标题 
    2级标题 2级标题 2级标题 
    -------- 
    标题 
    2级标题 2级标题 2级标题 
    这样...RepeatDirection=Horizontal RepeatColumns="2" 的话就变成这样了
    标题       标题 
    .2级标题   .2级标题 
    .2级标题   .2级标题 
    .2级标题   .2级标题
     
      

  7.   

    BulletedList控件定死就是 
    .2级标题  
    .2级标题  
    .2级标题  
    这样...我想知道有没有别的法子可以...代码上面有..2张表的2个关联的字段..
      

  8.   

    这个控件 主要是页面显示<%# DataBinder.Eval(Container.DataItem, "mtitle")%>这类的数据你用表格固定样式不行么 第一行表格只输出你的标题
    第二行表格输出你的2及标题,有几个就用几个TD 这样不行么你这个要是做菜单用菜单控件不是更好么,如果只是列出来,很多控件都可以轻松实现了
      

  9.   

    BulletedList控件啊...定死的
    没法TD..分不开
    有没有别的法子可以不用BulletedList控件也,OK的
      

  10.   

    我想
    protected void DataList3_ItemDataBound(object sender, DataListItemEventArgs e) 
        { 
            if (e.Item.ItemType == ListItemType.Item  ¦ ¦ e.Item.ItemType == ListItemType.AlternatingItem) 
            { 
                //BulletedList rbl = (BulletedList)e.Item.FindControl("bul1"); 
                    LinkButton rbl = (LinkButton)e.Item.FindControl("ln1");//想用LINKBUTTON来显示
                HiddenField hf = (HiddenField)e.Item.FindControl("hid"); 
                if ((rbl != null) && (hf != null)) 
                { 
                    string strq = "select title from Commentary where m_id='" + hf.Value.ToString().Trim() + "'"; 
                    SqlDataAdapter da = new SqlDataAdapter(strq, conn);                 //rbl.DataTextField = "title"; 
                    //rbl.DataValueField = "title"; 
                    DataSet ds = new DataSet(); 
                    da.Fill(ds, "Commentary"); 
                    //rbl.DataSource = ds.Tables[0].DefaultView; 
                    rbl.DataBind();             } 
            } 
    可是LINKBUTTON无法绑定数据源..用组控件反正都是可以..
    没有绑定数据源的难道没法子做了么??
    有高手帮忙么..
      

  11.   

    哎...还没人能帮忙,,
    问下..
    通常你们用datalist项模板时在里面放的控件
    在.cs文件里好象取不到控件的ID吧...你们如何做的..
      

  12.   

    问题是搞定了
    但是在模板列里的Linkbutton
    我做了个Linkbutton1_Click事件
    怎么样在里面写事件,可以获的数据对应的ID呢?在一个DATALIST中显示...
      

  13.   

    在模板列中放入一个LinkButton 取名为 lbtnAdd
    不要双击lbtnAdd进入事件
    在Datalist中的ItemDataBound事件中
    将lbtnAdd的CommandName取为Add(任意取名)
    lbtnAdd.CommandName="Add";
    lbtnAdd.CommandArgument=你的参数id;
    在Datalist中的ItemCommand事件中:if(e.Commandname.equals("Add"))
    {
        string id=e.CommandArgument.ToString();//获得id
        //此处是你单击此按钮的操作实现
    }
      

  14.   

    在Repeater嵌套DataList就可以了吧