datalist嵌套的问题 未将对象引用到设置到对象的实例

qq6212639 2009-07-10 03:59:12
我的页面上有两个datalist 外面的datalist的数据源不是从数据库提取出来的 里面的那个datalist的数据源要根据外面的那个时间从数据库里读取 大家帮忙看看这个怎么弄

protected void InitCalendar()
{
DataSet mDataSet = new DataSet();

DataTable mDataTable = new DataTable();
mDataSet.Tables.Add(mDataTable);
mDataTable.Columns.Add("TIME");

for (int i = 0; i < 24; i++)
{
TimeSpan mTimeSpan = new TimeSpan(-i, 0, 0);
DataRow Row = mDataTable.Rows.Add();
DateTime nDateTime = DateTime.Now;
nDateTime = nDateTime.Subtract(mTimeSpan);
mDataTable.Rows[i][0] = nDateTime.ToString("HH:mm");

((DataList)dlCalendarList.FindControl("dlCalendar")).DataSource = new BDBOA.BLL.tbl_Calendar().GetModelList("", nDateTime);
((DataList)dlCalendarList.FindControl("dlCalendar")).DataBind();
}

dlCalendarList.DataSource = mDataSet;
dlCalendarList.DataBind();
}


这个是我写的方法 好像第二个datalist用这样的方法找不到 但是我不知道怎么写了
...全文
62 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq6212639 2009-08-19
  • 打赏
  • 举报
回复
几个月没上 csdn 了 一上了看到我还有没结的帖子 不好意思啊 拖了这么久
wuyq11 2009-07-10
  • 打赏
  • 举报
回复
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
int ID = Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex].ToString());
DataSet ds;//
DataList DataList2= (DataList)e.Item.FindControl("DataList2");
DataList1.DataSource = ds;
DataList1.DataBind();
}
}
ds.Relations绑定
qq6212639 2009-07-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 youbl 的回复:]
C# codeif (e.Item.ItemType== ListItemType.Item|| e.Item.ItemType== ListItemType.AlternatingItem)
{// 如果绑定到主Repeater的是DataTable或DataView,对应到每一行,就是DataRowView(绑定到每一行的数据源是DataRowView) DataRowView data¡­
[/Quote]
谢谢大家这么耐心的帮助我 我再去试试
游北亮 2009-07-10
  • 打赏
  • 举报
回复
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
// 如果绑定到主Repeater的是DataTable或DataView,对应到每一行,就是DataRowView(绑定到每一行的数据源是DataRowView)
DataRowView data = e.Item.DataItem as DataRowView;
// 要取什么数据都可以,data["字段名"]

// 这里根据主Repeater的数据,取出子Repeater的数据源,绑定到子Repeater就可以了
Repeater repChild = e.Item.FindControl("repChild") as Repeater;
repChild.DataSource = 子数据源;
repChild.DataBind();
}
游北亮 2009-07-10
  • 打赏
  • 举报
回复
在第一个DataList的ItemDataBound事件里,

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
// 如果绑定到主Repeater的是DataTable或DataView,对应到每一行,就是DataRowView(绑定到每一行的数据源是DataRowView)
DataRowView data = e.Item.DataItem as DataRowView;
// 要取什么数据都可以,data["字段名"]

// 这里根据主Repeater的数据,取出子Repeater的数据源,绑定到子Repeater就可以了
repChild.DataSource = 子数据源;
repChild.DataBind();
}


[Quote=引用 3 楼 qq6212639 的回复:]
引用 2 楼 youbl 的回复:
嵌套的DataList的绑定可以在第一个DataList的ItemDataBound事件里做


这个我知道 但是我绑定第二个datalist的方法必须把外面一层datalist里绑定的时间传进去
如果写在ItemDataBound里的话 我的时间要怎么传过来呢?

[/Quote]
qq6212639 2009-07-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ihandler 的回复:]
在第一个DataList的ItemTemplate中放一Label用于显示时间
在第一个DataList的ItemDataBound中用FindControl方法找到控件并获取Text属性的值,然后绑定第二个DataList
[/Quote]

大侠 现在换成label找不到了 还是报同样的错 "未将对象引用到设置到对象的实例"
qq6212639 2009-07-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ihandler 的回复:]
在第一个DataList的ItemTemplate中放一Label用于显示时间
在第一个DataList的ItemDataBound中用FindControl方法找到控件并获取Text属性的值,然后绑定第二个DataList
[/Quote]

好 我试试! 如果可以 马上结贴给分
IHandler 2009-07-10
  • 打赏
  • 举报
回复
在第一个DataList的ItemTemplate中放一Label用于显示时间
在第一个DataList的ItemDataBound中用FindControl方法找到控件并获取Text属性的值,然后绑定第二个DataList
qq6212639 2009-07-10
  • 打赏
  • 举报
回复
注明一下 外面那个datalist是 dlCalendarList
里面那个是 dlCalendar
qq6212639 2009-07-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liaoyunt07 的回复:]
DataRow dr = mDataTable .NewRow();
dr["列名"] = "值";

mDataTable .Rows.Add(dr);
[/Quote]
不好意思 我不知道这是针对哪一块改的 我那个时间要绑定的是第一列
而且我现在要知道的是怎么在那个方法里找到我的第二个datalist
qq6212639 2009-07-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 youbl 的回复:]
嵌套的DataList的绑定可以在第一个DataList的ItemDataBound事件里做

[/Quote]
这个我知道 但是我绑定第二个datalist的方法必须把外面一层datalist里绑定的时间传进去
如果写在ItemDataBound里的话 我的时间要怎么传过来呢?
游北亮 2009-07-10
  • 打赏
  • 举报
回复
嵌套的DataList的绑定可以在第一个DataList的ItemDataBound事件里做
liaoyunt07 2009-07-10
  • 打赏
  • 举报
回复
DataRow dr = mDataTable .NewRow();
dr["列名"] = "值";

mDataTable .Rows.Add(dr);

62,074

社区成员

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

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

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

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