public TVModel() { var Types = new SortamentTypes().Types; TVItems = new ObservableCollection <TVItem> { new TVItem { Name = "Уголки", TVItems = new ObservableCollection <TVItem> { new TVItem { Name = Types[0], ParentName = "Уголки" }, new TVItem { Name = Types[1], ParentName = "Уголки" } } }, new TVItem { Name = "Швеллеры", TVItems = new ObservableCollection <TVItem> { new TVItem { Name = Types[2], ParentName = "Швеллеры" }, new TVItem { Name = Types[3], ParentName = "Швеллеры" }, new TVItem { Name = Types[4], ParentName = "Швеллеры" }, new TVItem { Name = Types[5], ParentName = "Швеллеры" }, new TVItem { Name = Types[6], ParentName = "Швеллеры" } } }, new TVItem { Name = "Двутавры", TVItems = new ObservableCollection <TVItem> { new TVItem { Name = Types[7], ParentName = "Двутавры" }, new TVItem { Name = Types[8], ParentName = "Двутавры" }, new TVItem { Name = Types[9], ParentName = "Двутавры" }, new TVItem { Name = Types[10], ParentName = "Двутавры" }, new TVItem { Name = Types[11], ParentName = "Двутавры" }, new TVItem { Name = Types[12], ParentName = "Двутавры" }, new TVItem { Name = Types[13], ParentName = "Двутавры" }, new TVItem { Name = Types[14], ParentName = "Двутавры" }, new TVItem { Name = Types[15], ParentName = "Двутавры" }, new TVItem { Name = Types[16], ParentName = "Двутавры" } } }, new TVItem { Name = "Тавры", TVItems = new ObservableCollection <TVItem> { new TVItem { Name = Types[17], ParentName = "Тавры" }, new TVItem { Name = Types[18], ParentName = "Тавры" }, new TVItem { Name = Types[19], ParentName = "Тавры" } } }, new TVItem { Name = "Круглые трубы", TVItems = new ObservableCollection <TVItem> { new TVItem { Name = Types[20], ParentName = "Круглые трубы" }, new TVItem { Name = Types[21], ParentName = "Круглые трубы" }, new TVItem { Name = Types[22], ParentName = "Круглые трубы" } } }, new TVItem { Name = "Квадратные трубы", TVItems = new ObservableCollection <TVItem> { new TVItem { Name = Types[23], ParentName = "Квадратные трубы" }, new TVItem { Name = Types[24], ParentName = "Квадратные трубы" }, new TVItem { Name = Types[25], ParentName = "Квадратные трубы" } } }, new TVItem { Name = "Прямоугольные трубы", TVItems = new ObservableCollection <TVItem> { new TVItem { Name = Types[26], ParentName = "Прямоугольные трубы" }, new TVItem { Name = Types[27], ParentName = "Прямоугольные трубы" }, new TVItem { Name = Types[28], ParentName = "Прямоугольные трубы" } } }, new TVItem { Name = "Гнутые С-образные профили", TVItems = new ObservableCollection <TVItem> { new TVItem { Name = Types[29], ParentName = "Гнутые С-образные профили" } } }, new TVItem { Name = "Гнутые Z-образные профили", TVItems = new ObservableCollection <TVItem> { new TVItem { Name = Types[30], ParentName = "Гнутые Z-образные профили" }, new TVItem { Name = Types[31], ParentName = "Гнутые Z-образные профили" } } }, }; }
public DataGridModel(string type) { var Types = new SortamentTypes().Types; if (Types.Contains(type)) { SortamentDS = DBtoDataSet.GetDataSet(); var dataTable = SortamentDS.Tables[0].Clone(); dataTable.TableName = "PermTable"; SortamentDS.Tables.Add(dataTable); foreach (DataRow row in SortamentDS.Tables[0].Select(String.Format("TypeName = '{0}'", type))) { SortamentDS.Tables[1].ImportRow(row); } SortamentDS.Tables.Add(TableName); SortamentDS.Tables[TableName].Columns.Add("№", typeof(int)); SortamentDS.Tables[TableName].PrimaryKey = new DataColumn[] { SortamentDS.Tables[TableName].Columns["№"] }; SortamentDS.Tables[TableName].Columns["№"].AutoIncrement = true; SortamentDS.Tables[TableName].Columns["№"].AutoIncrementSeed = 1; ColumnTitlesList = DBtoDataGridDictionary.Keys.ToList(); var i = Array.IndexOf(Types, type); if (i == 0) { ColumnTitlesList.Remove("d, см"); ColumnTitlesList.Remove("h, см"); ColumnTitlesList.Remove("t, см"); } else if (i == 1) { ColumnTitlesList.Remove("d, см"); ColumnTitlesList.Remove("t, см"); } else if (i >= 2 && i <= 19) { ColumnTitlesList.Remove("d, см"); } else if (i > 19 && i <= 22) { ColumnTitlesList.Remove("h, см"); ColumnTitlesList.Remove("b, см"); ColumnTitlesList.Remove("r, см"); ColumnTitlesList.Remove("t, см"); } else if (i > 22 && i <= 25) { ColumnTitlesList.Remove("h, см"); ColumnTitlesList.Remove("d, см"); ColumnTitlesList.Remove("t, см"); } else { ColumnTitlesList.Remove("d, см"); ColumnTitlesList.Remove("t, см"); } foreach (string title in ColumnTitlesList) { SortamentDS.Tables[TableName].Columns.Add(new DataColumn(title, typeof(string))); } foreach (DataRow row in SortamentDS.Tables[1].Rows) { var newRow = SortamentDS.Tables[TableName].NewRow(); foreach (DataColumn col in SortamentDS.Tables[TableName].Columns) { string value; if (DBtoDataGridDictionary.TryGetValue(col.ColumnName, out value)) { newRow[col.ColumnName] = row[value]; } } SortamentDS.Tables[TableName].Rows.Add(newRow); } } }