Здравствуйте, losnaca, Вы писали:
L>к каждому TreeNode прилагается тег который берет данные из таблицы базы данных и присваивает их TreeNode:
L>public class InfoTag
L> {
L> public ObjectTYPE ObjectTYPE; //тип объекта (перечисление)
L> public int L1; //первый ключ
L> public int L2; //второй ключ
L> public string NAME; //название префикса
L> public string Prefix; //префикс
L> public InfoTag(){}
L> }
L>так вот, в первом уровне TreeView мне нужны значения только ObjectTYPE, int L1, string NAME.
L>Во втором уровне нужно то же самое, но только вместо int L1 нужно int L2.
L>В процедуре, которая строит TreeView например, для первого уровня я делаю так:
Вообще-то я не очень понял. У вас в InfoTag пустой констркутор. Без параметров.
L>foreach(DataRow L1_Row in AddPrefix.Tables["L1_ZONE"].Rows)
L> {
L> TreeNode Node_L1 = new TreeNode(L1_Row["NAME"].ToString());
L> Node_L1.Tag = new InfoTag( // а тут уже с параметрами!
L> ObjectTYPE.ZONE,
L> (int)L1_Row["L1"],
L> (string)L1_Row["NAME"]);
L> treeView1.Nodes.Add( Node_L1 );
L> }
L>компилятор мне выдает ошибку и говорит что нужно в Node_L1.Tag перечислить всех членов класса InfoTag.
L>Подскажите пожалуйста, синтаксис присвоения нулевых значений int L2, string Prefix в Node_L1.Tag.
L>заранее благодарна
И что мешает создать объект констрктором без параметров и инициализировать только нужные свойства? Или создать два конструктор для первого и второго уровня нод?!