Datalist嵌套问题求助

coco_ke 2006-10-18 08:19:43
我想显示关联表的内容,用Datalist嵌套,我想知道如何设置嵌套的Datalist的DataSource为DataReleation集合

\\html

<asp:DataList ID="DatalistBigmenu" runat="server" DataKeyField="MenuBig_ID" DataSourceID="SqlDataSource1" Width="100%">
<ItemTemplate>
<table width="100%">
<tr>
<td background="images/title.jpg" style="width: 100px">
<asp:Label ID="Label1" runat="server" Text='<%# Eval("MenuBig_Name") %>'></asp:Label></td>
</tr>
<tr>
<td style="width: 100px">
<asp:DataList ID="ItemDatalist" runat="server" DataSource='<%# Eval("Big_Small") %>'>
<ItemTemplate>
<asp:Label ID="MenuSmall_NameLabel" runat="server" Text='<%# Eval("[\"MenuSmall_Name\"]") %>'></asp:Label><br />
<br />
</ItemTemplate>
</asp:DataList></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:zjbbsConnectionString %>"
SelectCommand="SELECT * FROM [Bbs_MenuBig]"></asp:SqlDataSource>

\\CS

protected void Page_Load(object sender, EventArgs e)
{
string sqlstr = ConfigurationManager.ConnectionStrings["zjbbsConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(sqlstr);
SqlDataAdapter sda = new SqlDataAdapter("select * from Bbs_MenuBig", con);
DataSet ds = new DataSet();
sda.Fill(ds, "BigMenu");
SqlDataAdapter sda2 = new SqlDataAdapter("select * from Bbs_MenuSmall", con);
sda2.Fill(ds, "SmallMenu");
ds.Relations.Add("Big_Small", ds.Tables["BigMenu"].Columns["MenuBig_ID"], ds.Tables["SmallMenu"].Columns["MenuSmall_BigId"]);

}

\\错误提示
DataBinding:“System.Data.DataRowView”不包含名为“Big_Small”的属性。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: DataBinding:“System.Data.DataRowView”不包含名为“Big_Small”的属性。

行 12: <asp:DataList ID="ItemDatalist" runat="server" DataSource='<%# Eval("Big_Small") %>'>


麻烦大家看下,真的很郁闷~
...全文
120 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
netlg 2006-10-19
  • 打赏
  • 举报
回复
学习
coco_ke 2006-10-19
  • 打赏
  • 举报
回复
受打击了,我不知道我是不是应该学下去...

论坛的主页面

就像 www.51pinke.com

一个大的分类,一个小的分类,小的分类里有主题,作者,日期,今日发表数...

是不是分了好几个表来存的,谁能给个思路,我想学习一下

我用Datalist嵌套一个Datalist,但我不知道怎么样再去关联主题表,再用主题表关联作者表...

我觉得好复杂,这个应该怎么做?
daishengs 2006-10-18
  • 打赏
  • 举报
回复
这是我程序里的一个嵌套代码,希望对你有点作用。

<asp:datagrid id="grid" runat="server" Width="100%" AutoGenerateColumns="False" AllowPaging="True"
ShowHeader="False" PageSize="5">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
<TR height="30">
<TD bgColor='<%=Application[Session["Style"].ToString()+"xtable_titlebgcolor"]%>'>
<STRONG><B>素质岗位:
<%# DataBinder.Eval(Container.DataItem, "StationName") %>
</B></STRONG>
</TD>
</TR>
<TR>
<TD align="right">
<asp:DataGrid id=dgDetail runat="server" AutoGenerateColumns="False" DataSource='<%# ((System.Data.DataRowView)Container.DataItem).CreateChildView("tableRelation") %>' DataKeyField="CurriculaID" BorderColor="#336666" BorderWidth="1px" CellPadding="5" CellSpacing="0" GridLines="Horizontal" Width="100%" Font-Size="Smaller">
<Columns>
<asp:BoundColumn Visible="False" DataField="CurriculaID" ReadOnly="True"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="考试课程">
<HeaderStyle Width="250px"></HeaderStyle>
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "CurriculaName") %>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="White" BackColor="#336666" Mode="NumericPages"></PagerStyle>
</asp:DataGrid>
</TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:TemplateColumn>
<asp:HyperLinkColumn Text="修改" DataNavigateUrlField="ID" DataNavigateUrlFormatString="modify.aspx?id={0}"
HeaderText="修改">
<HeaderStyle Width="20px"></HeaderStyle>
</asp:HyperLinkColumn>
</Columns>
<PagerStyle Visible="False"></PagerStyle>
</asp:datagrid>


DataSet myDataSet=new DataSet();
BLL.Station bll=new BLL.Station();
myDataSet=bll.GetList(strWhere.Replace("StationID","ID"));

DataSet ds = new DataSet();
BLL.V_Station_Curricula bllV=new V_Station_Curricula();
ds=bllV.GetList(strWhere.Replace("DelSign=0","'1'='1'"));
DataTable myTable=ds.Tables[0].Copy();
myTable.TableName="C";
myDataSet.Tables.Add(myTable);
try
{
//设定表名字
myDataSet.Tables[0].TableName = "Station";
myDataSet.Tables[1].TableName = "V_Station_Curricula";
DataColumn Parent = myDataSet.Tables["Station"].Columns["ID"];
DataColumn Child = myDataSet.Tables["V_Station_Curricula"].Columns["StationID"];
DataRelation tableRelation = new DataRelation("tableRelation", Parent, Child, false);
myDataSet.Relations.Add(tableRelation);
}
catch(Exception error)
{
Response.Write(error.ToString());
}

grid.DataSource = myDataSet.Tables["Station"].DefaultView;
grid.DataBind();
coco_ke 2006-10-18
  • 打赏
  • 举报
回复
顶一下,希望看到的同志,都回个贴,来者有分~
Asdcer 2006-10-18
  • 打赏
  • 举报
回复
没遇到过,帮UP+Mark

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧