  | 
				www.integro.ru ЦСИ ИНТЕГРО   
				 | 
			 
		 
		 
	
		| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		Азаматов Азамат Хадисович
 
 
  Зарегистрирован: 17.02.2005 Сообщения: 100 Откуда: г. Учалы, Респ. Башкортостан
  | 
		
			
				 Добавлено: Пн 24 Дек 2012 04:02    Заголовок сообщения: Создание сем. таблицы | 
				     | 
			 
			
				
  | 
			 
			
				Написал код
 
 	  | Код: | 	 		  
 
        private void CreateNewMap(string name)
 
        {
 
            try
 
            {
 
                string tname;
 
                Ingeo.IIngeoVectorMap vmap = app.ActiveProjectView.Project.Area.Maps.AddVectorMap();
 
                vmap.Name = name;
 
                vmap.Update();
 
                app.ActiveProjectView.Project.Contents.Add(vmap.ID);
 
                Ingeo.IIngeoLayer layer = vmap.Layers.Add();
 
                layer.Name = "Профиль продольный";
 
                layer.Update();
 
                Ingeo.IIngeoStyle lstl = layer.Styles.Add();
 
                lstl.Name = "Линия 0.3";
 
                lstl.Update();
 
                Ingeo.IIngeoStdPainter pntr = lstl.Painters.Add(Ingeo.TIngeoPainterType.inptStd) as Ingeo.IIngeoStdPainter;
 
                pntr.Pen.Color = 0;
 
                pntr.Pen.WidthInMM = 0.0003;
 
                pntr.Pen.ForZoomScale = 0;
 
              //  pntr.Brush.Style = InScripting.TInBrushStyle.inbsClear;
 
                lstl.Update();
 
                Ingeo.IIngeoSemTable st = layer.SemTables.Add();
 
                Random rnd = new Random();
 
 
                st.Name = "profile" + rnd.Next(10000);
 
                st.LinkType = 0;
 
          //      st.SemDbTableName = st.Name;
 
                st.Update();
 
                layer.Update();
 
            //    st.SemDbTable.Update();
 
                st.SemDbTable.Fields.Add("Text", Ingeo.TIngeoFieldDataType.inftString, 255, 0, 0);
 
       //         st.SemDbTable.Update();
 
                tname = st.Name;
 
                st.Update();
 
//                st.LinkType = 0;
 
                Ingeo.IIngeoSemFieldInfo sf= st.FieldInfos.Add("Text", "Text", "", "", "");
 
                                
 
                st.Update();
 
                Ingeo.IIngeoStyle tstl = layer.Styles.Add();
 
                tstl.Name = "Текст 8";
 
                tstl.Update();
 
                Ingeo.IIngeoTextPainter tpntr = tstl.Painters.Add(Ingeo.TIngeoPainterType.inptText) as Ingeo.IIngeoTextPainter;
 
                tpntr.Font.Size = 8;
 
                tpntr.Font.ForZoomScale = 0;
 
                tpntr.Text = "{" + tname + ".Text}";
 
                tstl.Update();
 
                layer.Update();
 
 
            }
 
            catch (Exception e)
 
            {
 
                MessageBox.Show(e.Message);
 
            }
 
           // layer.Update();
 
        }
 
 | 	  
 
таблицу создает, поле не создает
 
если раскомментить SemDbTable.Update() выдает ошибку "Не задано имя таблицы"
 
 
Как правильно создать поля в таблице? | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		Михаил Власов
 
  
  Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
  | 
		 | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		Азаматов Азамат Хадисович
 
 
  Зарегистрирован: 17.02.2005 Сообщения: 100 Откуда: г. Учалы, Респ. Башкортостан
  | 
		
			
				 Добавлено: Пн 24 Дек 2012 12:50    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				разобрался
 
нужно больше update()
 
 	  | Код: | 	 		  
 
        private void CreateNewMap(string name)
 
        {
 
            try
 
            {
 
                string tname;
 
                Ingeo.IIngeoVectorMap vmap = app.ActiveProjectView.Project.Area.Maps.AddVectorMap();
 
                vmap.Name = name;
 
                vmap.Update();
 
                app.ActiveProjectView.Project.Contents.Add(vmap.ID);
 
                Ingeo.IIngeoLayer layer = vmap.Layers.Add();
 
                layer.Name = "Профиль продольный";
 
                layer.Update();
 
                Ingeo.IIngeoStyle lstl = layer.Styles.Add();
 
                lstl.Name = "Линия 0.3";
 
                lstl.Update();
 
                Ingeo.IIngeoStdPainter pntr = lstl.Painters.Add(Ingeo.TIngeoPainterType.inptStd) as Ingeo.IIngeoStdPainter;
 
                pntr.Pen.Color = 0;
 
                pntr.Pen.WidthInMM = 0.0003;
 
                pntr.Pen.ForZoomScale = 0;
 
                lstl.Update();
 
                Ingeo.IIngeoSemTable st = layer.SemTables.Add();
 
                Random rnd = new Random();
 
 
                st.Name = "profile" + rnd.Next(10000);
 
                st.SemDbTableName = st.Name;
 
                st.LinkType = 0;
 
                st.SemDbTable.Update();
 
                st.Update();
 
                st.SemDbTable.Fields.Add("Text", Ingeo.TIngeoFieldDataType.inftString, 255, 0, 0);
 
                Ingeo.IIngeoSemFieldInfo sf = st.FieldInfos.Add("Text", "Text", "", "", "");
 
                st.SemDbTable.Update();
 
Ingeo.TIngeoFieldDataType.inftString, 255, 0, 0);
 
                tname = st.Name;
 
                st.Update();
 
                Ingeo.IIngeoStyle tstl = layer.Styles.Add();
 
                tstl.Name = "Текст 8";
 
                tstl.Update();
 
                Ingeo.IIngeoTextPainter tpntr = tstl.Painters.Add(Ingeo.TIngeoPainterType.inptText) as Ingeo.IIngeoTextPainter;
 
                tpntr.Font.Size = 8;
 
                tpntr.Font.ForZoomScale = 0;
 
                tpntr.Text = "{" + tname + ".Text}";
 
                tstl.Update();
 
                layer.Update();
 
 
            }
 
            catch (Exception e)
 
            {
 
                MessageBox.Show(e.Message);
 
            }
 
        }
 
 | 	  
 
так работает. Спасибо за наводку. | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять приложения в этом форуме Вы можете скачивать файлы в этом форуме
  | 
   
 
		 |