Я пытаюсь создать меню, управляемое данными, используя данные из самоссылающейся таблицы для создания (2-уровневой) иерархической структуры. Пример данных:
MenuID ParentID Text Url CSS
1 Null Top topCSS
2 Null Second secCSS
3 1 abc z.aspx abcCSS
4 1 def y.aspx abcCSS
5 2 ghi x.aspx defCSS
Для получения этих данных я использую LINQ to Entities. Затем я заполняю DataTable, затем заполняю DataSet, а затем создаю DataRelation, прежде чем преобразовать его в XML для использования в xmlDataSource, где он преобразуется для использования в качестве источника данных меню.
Должен признаться, Я взял много кода с этих форумов, и он должен работать. За исключением того, что для преобразования требуется значение NULL в ParentID, чтобы указать пункт меню верхнего уровня, но я не могу вставить NULL в DataTable. Код ниже:
using (var cntIuvo = new iuvocexi_dbEnts())
{
var b = (from a in cntIuvo.MenuNavs select a);
DataTable myTB = new DataTable();
myTB.Columns.Add("MenuID");
myTB.Columns.Add("ParentID");
myTB.Columns.Add("url");
myTB.Columns.Add("CSS");
DataRow myDR;
foreach (var rec in b)
{
myDR = myTB.NewRow();
myDR["MenuID"] = rec.MenuID;
myDR["ParentID"] = rec.ParentID; // error is generated here
myDR["url"] = rec.url;
myDR["CSS"] = rec.CSS;
myTB.Rows.Add(myDR);
}
DataSet ds = new DataSet();
ds.Tables.Add(myTB);
ds.DataSetName = "Menus";
ds.Tables[0].TableName = "Menu";
DataRelation relation = new DataRelation("ParentChild", ds.Tables["Menu"].Columns["MenuID"], ds.Tables["Menu"].Columns["ParentID"], true);
relation.Nested = true;
ds.Relations.Add(relation);
xmlDataSource1.Data = ds.GetXml();
if (Request.Params["Sel"] != null)
Page.Controls.Add(new System.Web.UI.LiteralControl("You selected " +
Request.Params["Sel"]));
}
Как вставить NULL в DataTable или, в противном случае, как мне получить LINQ to Entities для заполнения DataTable/DataSet, или, в противном случае, как мне настроить Преобразовать, чтобы разрешить (скажем) 0 вместо NULL?
Transform.xslt находится ниже:
?Sel=
Подробнее здесь: https://stackoverflow.com/questions/737 ... -datatable
Вставка NULL в DataTable ⇐ C#
Место общения программистов C#
1727298603
Anonymous
Я пытаюсь создать меню, управляемое данными, используя данные из самоссылающейся таблицы для создания (2-уровневой) иерархической структуры. Пример данных:
MenuID ParentID Text Url CSS
1 Null Top topCSS
2 Null Second secCSS
3 1 abc z.aspx abcCSS
4 1 def y.aspx abcCSS
5 2 ghi x.aspx defCSS
Для получения этих данных я использую LINQ to Entities. Затем я заполняю DataTable, затем заполняю DataSet, а затем создаю DataRelation, прежде чем преобразовать его в XML для использования в xmlDataSource, где он преобразуется для использования в качестве источника данных меню.
Должен признаться, Я взял много кода с этих форумов, и он должен работать. За исключением того, что для преобразования требуется значение NULL в ParentID, чтобы указать пункт меню верхнего уровня, но я не могу вставить NULL в DataTable. Код ниже:
using (var cntIuvo = new iuvocexi_dbEnts())
{
var b = (from a in cntIuvo.MenuNavs select a);
DataTable myTB = new DataTable();
myTB.Columns.Add("MenuID");
myTB.Columns.Add("ParentID");
myTB.Columns.Add("url");
myTB.Columns.Add("CSS");
DataRow myDR;
foreach (var rec in b)
{
myDR = myTB.NewRow();
myDR["MenuID"] = rec.MenuID;
myDR["ParentID"] = rec.ParentID; // error is generated here
myDR["url"] = rec.url;
myDR["CSS"] = rec.CSS;
myTB.Rows.Add(myDR);
}
DataSet ds = new DataSet();
ds.Tables.Add(myTB);
ds.DataSetName = "Menus";
ds.Tables[0].TableName = "Menu";
DataRelation relation = new DataRelation("ParentChild", ds.Tables["Menu"].Columns["MenuID"], ds.Tables["Menu"].Columns["ParentID"], true);
relation.Nested = true;
ds.Relations.Add(relation);
xmlDataSource1.Data = ds.GetXml();
if (Request.Params["Sel"] != null)
Page.Controls.Add(new System.Web.UI.LiteralControl("You selected " +
Request.Params["Sel"]));
}
Как вставить NULL в DataTable или, в противном случае, как мне получить LINQ to Entities для заполнения DataTable/DataSet, или, в противном случае, как мне настроить Преобразовать, чтобы разрешить (скажем) 0 вместо NULL?
Transform.xslt находится ниже:
?Sel=
Подробнее здесь: [url]https://stackoverflow.com/questions/7376888/inserting-null-into-datatable[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия