 |
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);
}
}
|
так работает. Спасибо за наводку. |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять приложения в этом форуме Вы можете скачивать файлы в этом форуме
|
|