Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: "Пример с использованием FlexGridPlus?" Добавлено: 02.07.07 18:26  

Автор вопроса:  Sadhak | ICQ: 193242193 
"Добрый день All. Очень заманчивый мануал к творению Ковалева Сергея,
а вот примерчик бы, для быстрого освоения?
Многое из того что применял к MSFlexGrid для него не подходит.
Желательно примерчкик с использованием этих процедур:
SaveToDatabase(DataBaseName, TableName)
SaveColumnToDatabase(DataBaseName, TableName,Column)
LoadFromDatabase(DataBaseName, TableName)
LoadColumnFromDatabase(DataBaseName, TableName, ColumnName, Column)
Вообще казалось бы, - тут всё ясно, но не работает...
Может вообще, что не так делал...

Кто подружился с этим контролом, - помогите пожалуйста примерчиком! Очень уж надо. Заранее благодарен."

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #1 Добавлено: 03.07.07 13:19
У меня вот ридми с ним был:
Контрол FlexGridPlus создан на основе контрола MSFlexGrid 5.0, поэтому включает почти все его свойства и методы плюс ряд новых.
Итак что нового:
TextEdit=true позволяет вводить текст в ячейки
Свойство FormatString позволяет задать формат вводимого текста. Если FormatString=1, то в ячейки можно вводить только числа и десятичные точки.
Свойство Scrool определяет будет ли сетка прокручиваться, если запрашиваемая ячейка не попадает в поле видимости. Например если строка 10 в данный момент не видна на экране (скажем последняя видимая строка 8), то написав Row=10 сетка прокрутиться и последней видимой строкой станет 10.
Свойство MouseRowColChange=1 позволяет осуществлять переход между ячейками не только при щелчке левой кнопки мыши, но и правой.
Функция Eval позволяет вычислять текстовые выражения. Например Eval("5+5";)=10.
Теперь по поводу свойств отдельных ячеек
Раньше, чтобы установить свойство отдельной ячейки (например цвет фона у ячейки (1,1)) нужно было сделать так
With MSFlexGrid1
.Row=1
.Col=1
.CellBackColor = vbRed
End With
Теперь я добавил набор Cells и это можно сделать так:
FlexGridPlus1.Cells(1,1).BackColor=vbRed
Также я добавил набор Selection, чтобы работать с выделенной областью ячеек
Пользователь может выделить область мышкой или это можно сделать программно:
With FlexGridPlus1
' выделяем набор ячеек
.SelectRC 1, 1, 10, 10
' присваиваем цвет фона этим ячейкам
.Selection.BackColor=vbRed
' Возвращаем фокус в прежнее состояние
.EndSelect
End With
Также в набор Selection я добавил процедуры CopyToClipboard (скопировать в буфер), PasteFromClipboard (вставить из буфера, причем, если выделена только одна ячейка, то таблица вставляется полностью) и функцию Sum (возвращает сумму значений выделенных ячеек).
Ну а теперь по поводу баз данных:
В свойство DataColSize(index) записывается размер колонки (в символах) в базе данных. По умолчанию он принимается равным 20.
Свойство DataColName(index) содержит название колонок в базе данных. По умолчанию принимается "Поле1", "Поле 2" и т.д. Если сетка содержит фиксированную строку, то значение этого свойства будет приниматься из текста соответствующих колонок этой строки (конечно если эти колонки заполнены). Например, если FixedRows=1 и мы вводим TextMatrix (0,1)="Колонка", то и DataColName(1) автоматически примет значение "Колонка".
Функция IsTableExist(DataBaseName, TableName) определят существует ли указанная таблица в указанной базе данных. Если такой базы данных нет или нет такой таблицы, то возвращается false.
Процедура SaveToDatabase(DataBaseName, TableName) записывает всю таблицу в базу данных. Если указанной базы данных или таблицы не существует, то она их создает. Если таблица существует, но не существует некоторых колонок, то она просто их добавляет.
Процедура SaveColumnToDatabase(DataBaseName, TableName,Column) записывает в базу данных указанную колонку из FlexGridPlus.
Процедура LoadFromDatabase(DataBaseName, TableName) считывает таблицу из базы данных.
Процедура LoadColumnFromDatabase(DataBaseName, TableName, ColumnName, Column) считывает колонку из базы данных, где ColumnName - название колонки в базе данных, Column - номер колонки в FlexGridPlus.

Ответить

Номер ответа: 2
Автор ответа:
 Sadhak



ICQ: 193242193 

Вопросов: 2
Ответов: 10
 Профиль | | #2 Добавлено: 04.07.07 09:21
Эта хелпа и у меня есть. Я вот например немогу понять в каком формате в процедуру LoadFromDatabase(DataBaseName, TableName) DataBaseName - подать... Если например так:
Dim db As DAO.Database
LoadFromDatabase(db , "tblMain";)

не лезет... Говорит несоответствие типов, елси вот так:

LoadFromDatabase(App.Path & "\accessBD.mdb", "tblMain";)

анологично...
Вот и хотел бы посмотреть как это в реал?...

Ответить

Номер ответа: 3
Автор ответа:
 Sadhak



ICQ: 193242193 

Вопросов: 2
Ответов: 10
 Профиль | | #3 Добавлено: 04.07.07 09:49
Эта хелпа и у меня есть. Непонятно в каком виде в процедуру LoadFromDatabase(DataBaseName, TableName) DataBaseName - подать... Если например так:
Dim db As DAO.Database
LoadFromDatabase(db , "tblMain";)
не лезет... Говорит несоответствие типов, елси вот так:
LoadFromDatabase(App.Path & "\accessBD.mdb", "tblMain";)
анологично...
Вот и хотел бы посмотреть как это в реальности выглядит?...

Ответить

Номер ответа: 4
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #4 Добавлено: 04.07.07 10:31
    FlexGridPlus1.SaveToDatabase "c:\xxx.mdb", "msflexgrid"

Прекрасно все сохраняет. :)
Надо только убрать скобки - это не функция

Ответить

Номер ответа: 5
Автор ответа:
 Sadhak



ICQ: 193242193 

Вопросов: 2
Ответов: 10
 Профиль | | #5 Добавлено: 04.07.07 10:56
Ок. А с какой DB дружит? C *.mdb Access2000 не хочет - говорит нераспознанный формат...

Примерчика, всё-таки нет? Есть тут нюансы ешо, не могу например в AddItem загнать так как в MSFlexGrid, мож что сменилось (может разделитель там был vbTab)...

Ответить

Номер ответа: 6
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #6 Добавлено: 04.07.07 12:08
Я открывал из 2003, формат там вроде 97

Примерчика нет, я не пользуюсь этим гридом.

Ответить

Номер ответа: 7
Автор ответа:
 Sadhak



ICQ: 193242193 

Вопросов: 2
Ответов: 10
 Профиль | | #7 Добавлено: 04.07.07 12:14
Аналогично, но у меня не открывает... :(. "Нераспознанный формат
данных"...

Ответить

Номер ответа: 8
Автор ответа:
 Sadhak



ICQ: 193242193 

Вопросов: 2
Ответов: 10
 Профиль | | #8 Добавлено: 10.07.07 09:24
Всем спасибо. Решение найдено. Тема закрыта.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам