内部的datalist的数据源有值吗
解决方案 »
- sqldatasource里面的参数,怎样将它的值设置为页面的一个属性,如我定义了一个属性;property abc as string,怎样将它参数的值设为abc?
- 非常严重问题!session在框架中失效。在线等解决办法
- 如何把不规则EXCEL文件中的数据提取,然后插入到数据库中?
- 请教:弹出页面,刷新父页面
- 登陆成功后如何把登陆部分的框架高度设为0?也就是让登陆窗口消失?
- 如何将string 转换为sql server 里的money类型.??/
- c# 页面执行时间如何算!?
- 每页显示记录数如何实现?
- “Request.Form”获取表单中的值
- 如何模拟登录,并抓取网页表格内容
- 动态绑定DropDownList的问题?
- 整個頁面的字型大小都設一樣了,但在用戶机win2000上瀏覽時出現字型大小不一致,Why
DataList1.DataSource = ds.Tables["BigClass"].DefaultView;
改成
DataList1.DataSource = ds.Tables["SmallClass"].DefaultView;
看了一下.有数据的.
<%# ((System.Data.DataRowView)Container.DataItem).Row.GetChildRows("SmallClass") %>应该是
<%# ((System.Data.DataRowView)Container.DataItem).Row.GetChildRows("OrderRelation") %>但是改成这样后却提示错误
DataBinder.Eval:“System.Data.DataRow”不包含名称为 CategoryID 的属性。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: DataBinder.Eval:“System.Data.DataRow”不包含名称为 CategoryID 的属性。源错误:
行 30: </SelectedItemTemplate>
行 31: <ItemTemplate>1
行 32: <asp:HyperLink id="Hyperlink2" runat="server" NavigateUrl='<%# "productslist.aspx?CategoryID=" + DataBinder.Eval(Container.DataItem, "CategoryID") + "&selection=" + Container.ItemIndex %>' Text='<%# DataBinder.Eval(Container.DataItem, "CategoryName") %>' cssclass="MenuUnselected">
行 33: </asp:HyperLink>
行 34:
public DataTable GetTable(int BigClassID)
{
//你的代码
//功能,根据大类的iD得到其小类的一个表
}
绑定表达式变成DataBinder.Eval(Container, "DataItem.\\你的BigClassID")
在这说说我的实现:foreach(DataListItem it in this.DataList1)
{
DataList DL = (DataList) it.FindControls("DataList2");
DL.DataSource = ………;
DL.DataBind();
}
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %><script language="VB" runat="server">
dim MyConnection as OleDbConnection
dim cmdSelect as OleDbCommand
dim dtrReader as OleDbDataReader
Sub Page_load(sender as object,e as Eventargs)
MyConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\inetpub\wwwroot\nhonline\datagrid\kk.mdb")
if not IsPostBack() then
Mydatagrid_DataBind()
end if
End SubSub Mydatagrid_DataBind()
Dim MyCommand As OleDbDataAdapter = new OleDbDataAdapter("select * from [class]", MyConnection)
Dim DS As DataSet = new DataSet()
MyCommand.Fill(DS,"board")
BigClassList.DataSource=DS.Tables("board").DefaultView
BigClassList.DataBind()
End SubFunction SmallClass(BigClassID) as DataTable
dim SmallClassData as DataSet =new DataSet()
MyConnection.Open()
dim DataAdapter as OleDbDataAdapter = new OleDbDataAdapter("SELECT * FROM [board] WHERE class="& BigClassID &" ORDER BY boardid DESC",MyConnection)
DataAdapter.Fill(SmallClassData,"SmallClassData")
MyConnection.Close()
return SmallClassData.Tables("SmallClassData")
End Function</script>
<html>
<head>
<title>NHONLINE_BBS_INDEX</title>
<link rel="stylesheet" href="css.css" type="text/css">
</head>
<body>
<form Runat="server">
<asp:datagrid id="BigClassList"
runat="server"
AutoGenerateColumns="false"
ShowHeader="false"
ShowFooter="false"
>
<columns>
<asp:TemplateColumn>
<ItemTemplate>
<TABLE style="BORDER-COLLAPSE: collapse" borderColor="WHITE" BgColor="#e4eaf2" cellSpacing="0" cellPadding="0" width="400" align="center" border="1">
<TR>
<TD> <%#Container.DataItem("class")%></TD>
</TR>
</TABLE>
<!-- ---------------------------------------------------------- -->
<asp:datagrid id="SmallClassList"
runat="server"
AutoGenerateColumns="false"
DataSource='<%# SmallClass(Container.DataItem("id").ToString()) %>'
ShowHeader="false"
ShowFooter="false"
>
<columns>
<asp:TemplateColumn>
<ItemTemplate>
<TABLE style="BORDER-COLLAPSE: collapse" borderColor="WHITE" BgColor="#DBDBDB" cellSpacing="0" cellPadding="0" width="400" align="center" border="1">
<TR>
<TD width="30"><IMG SRC="pop.gif" WIDTH="29" HEIGHT="29" BORDER="0" ALT=""></TD>
<TD><%#Container.DataItem("boardtype")%></TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:TemplateColumn>
</columns>
</asp:datagrid>
</ItemTemplate>
</asp:TemplateColumn>
</columns>
</asp:datagrid>
</form>
</body>
</html>