Мне трудно установить связь между моими таблицами в наборе данных. Я получил 2 повторителя (вложенные). RepeaterReplies - это внешний ретранслятор. Вот где я его связываю и устанавливаю соотношение.
Вот что у меня есть
List<DataColumn> parents = new List<DataColumn>{};
parents.Add(ds.Tables[0].Columns["REPLY_ID"]);
parents.Add(ds.Tables[0].Columns["USER_ID"]);
List<DataColumn> childs = new List<DataColumn>{};
childs.Add(ds.Tables[2].Columns["REPLY_ID"]);
childs.Add(ds.Tables[2].Columns["MAKER_USER_ID"]);
DataColumn[] parentz = parents.ToArray();
DataColumn[] children = childs.ToArray();
ds.Relations.Add("parents", parentz, children,false);
repeaterReplies.DataSource = ds;
repeaterReplies.DataBind();
Когда я проверяю свой набор данных, который содержит 3 таблицы (мне просто нужно установить связь между первой и последней таблицами - tbl [0] и tbl [2]), и я уверен, что в первой таблице есть столбцы REPLY_ID и USER_ID третья таблица имеет REPLY_ID и MAKER_USER_ID.
Я получаю сообщение об ошибке при привязке внутреннего повторителя (ItemDataBound внешнего повторителя)
DataRowView dv = e.Item.DataItem as DataRowView;
Repeater nestedRepeater = e.Item.FindControl("repeaterComments") as Repeater;
if (nestedRepeater != null)
{
nestedRepeater.DataSource = dv.CreateChildView("replies");
nestedRepeater.DataBind();
}
Ошибка
Отношение не связано с таблицей, к которой относится этот DataView.
точек.
Спасибо