前台代码:
<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级标题
这样的效果??呢
请指点下~~最好有点代码...谢谢...
<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级标题
这样的效果??呢
请指点下~~最好有点代码...谢谢...
我想问不用BulletedList 可以不..怎么实现..
有没有什么好法子不用BulletedList 控件..这控件定死的...
标题 ----->>单独一张表的字段,,这个是列
.2级标题 ---->>
.2级标题 ---->>单独一张表的字段
.2级标题 ---->>
--------
标题
.2级标题
.2级标题
.2级标题 知道吧.....我要列标题竖着显示
里面的小标题横着...
标题
2级标题 2级标题 2级标题
--------
标题
2级标题 2级标题 2级标题
这样...RepeatDirection=Horizontal RepeatColumns="2" 的话就变成这样了
标题 标题
.2级标题 .2级标题
.2级标题 .2级标题
.2级标题 .2级标题
.2级标题
.2级标题
.2级标题
这样...我想知道有没有别的法子可以...代码上面有..2张表的2个关联的字段..
第二行表格输出你的2及标题,有几个就用几个TD 这样不行么你这个要是做菜单用菜单控件不是更好么,如果只是列出来,很多控件都可以轻松实现了
没法TD..分不开
有没有别的法子可以不用BulletedList控件也,OK的
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无法绑定数据源..用组控件反正都是可以..
没有绑定数据源的难道没法子做了么??
有高手帮忙么..
问下..
通常你们用datalist项模板时在里面放的控件
在.cs文件里好象取不到控件的ID吧...你们如何做的..
但是在模板列里的Linkbutton
我做了个Linkbutton1_Click事件
怎么样在里面写事件,可以获的数据对应的ID呢?在一个DATALIST中显示...
不要双击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
//此处是你单击此按钮的操作实现
}