我的页面上有两个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用这样的方法找不到 但是我不知道怎么写了
{
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用这样的方法找不到 但是我不知道怎么写了
dr["列名"] = "值";mDataTable .Rows.Add(dr);
如果写在ItemDataBound里的话 我的时间要怎么传过来呢?
而且我现在要知道的是怎么在那个方法里找到我的第二个datalist
里面那个是 dlCalendar
在第一个DataList的ItemDataBound中用FindControl方法找到控件并获取Text属性的值,然后绑定第二个DataList
大侠 现在换成label找不到了 还是报同样的错 "未将对象引用到设置到对象的实例"
{
// 如果绑定到主Repeater的是DataTable或DataView,对应到每一行,就是DataRowView(绑定到每一行的数据源是DataRowView)
DataRowView data = e.Item.DataItem as DataRowView;
// 要取什么数据都可以,data["字段名"] // 这里根据主Repeater的数据,取出子Repeater的数据源,绑定到子Repeater就可以了
repChild.DataSource = 子数据源;
repChild.DataBind();
}
{
// 如果绑定到主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();
}
http://blog.csdn.net/insus/archive/2008/09/02/2865244.aspx
{
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绑定