Вопрос по DataGrid
От: Disieux  
Дата: 01.11.01 07:18
Оценка:
На форме есть два контрола MSHFlexGrid и DataGrid
MSHFlexGrid.DataSource = Recordset — работает
DataGrid.DataSource = Recordset — не работает
я уже измячился, подскажите, что сделал не так
Re: Вопрос по DataGrid
От: nimnul  
Дата: 01.11.01 07:46
Оценка:
Здравствуйте Disieux, Вы писали:

D>На форме есть два контрола MSHFlexGrid и DataGrid

D>MSHFlexGrid.DataSource = Recordset — работает
D>DataGrid.DataSource = Recordset — не работает
D>я уже измячился, подскажите, что сделал не так
Ежели у тебя DataGrid — это CDataGrid, который от MS DataGrid control (OLEDB)
то попробуй следующее
m_DataGrid.SetRefDataSource( (LPUNKNOWN) m_recordSet );
m_DataGrid.Refresh();
Это после того, как в m_recordSet напихал чего нибудь
btw, ты не знаешь, как этот самый CDataGrid распечатать?
Re[2]: Вопрос по DataGrid
От: Disieux  
Дата: 01.11.01 08:06
Оценка:
Здравствуйте nimnul, Вы писали:

Как печатать CDataGrid не знаю
CDataGrid это видимо C++, а я пишу на VB и там DataGrid
Re[3]: Вопрос по DataGrid
От: nimnul  
Дата: 01.11.01 10:09
Оценка:
Здравствуйте Disieux, Вы писали:

D>CDataGrid это видимо C++, а я пишу на VB и там DataGrid


А какая, IMHO, разница? Методы-то те же должны быть, синтаксис
языка только различен....
Или я где-то не прав, в чём-то?( Я, собственно, не претендую,
самому интересно)
Re[4]: Вопрос по DataGrid
От: Disieux  
Дата: 01.11.01 11:17
Оценка:
Здравствуйте nimnul, Вы писали:

я разобрался нужно было рекордсет закрывать, когда закрываешь форму и все работает

у меня к тебе еще вопрос есть, когда заполняешь DataGrid у него есть самая левая колонка и в ней нет ни каких данных я бы хотел чтобы в ней была нумерация строк как в Excel, может знаешь как это замутить

и еще по повоу печати, я в свое время хотел MSHFlexGrid распечатать, пришлось использовать DataReport
Re[5]: Вопрос по DataGrid
От: nimnul  
Дата: 01.11.01 11:52
Оценка:
Здравствуйте Disieux, Вы писали:

D>Здравствуйте nimnul, Вы писали:


D>я разобрался нужно было рекордсет закрывать, когда закрываешь форму и все работает

Это старые грабли, я даже и забыл про это...

D>у меня к тебе еще вопрос есть, когда заполняешь DataGrid у него есть самая левая колонка и в ней нет ни каких данных я бы хотел чтобы в ней была нумерация строк как в Excel, может знаешь как это замутить

Ну, первое, что на ум приходит- да ничего, собственно, толкового, не приходит пока. Можно, конечно счётчик по RecordSet организовать, но это криво — дополнительный цикл... А, может в свойствах самого DataGrid'a есть такая ерунда? Или SELECT похитрее, сейчас не соображу просто, надыбаю, отпишу.

D>и еще по повоу печати, я в свое время хотел MSHFlexGrid распечатать, пришлось использовать DataReport

DataReport — это прога такая, я так понимаю? — Мне по условиям не подходит, внешние приложения не катят...
Re[6]: Вопрос по DataGrid
От: Disieux  
Дата: 05.11.01 06:02
Оценка:
Здравствуйте nimnul, Вы писали:

D>>и еще по повоу печати, я в свое время хотел MSHFlexGrid распечатать, пришлось использовать DataReport

N>DataReport — это прога такая, я так понимаю? — Мне по условиям не подходит, внешние приложения не катят...

Нет DataReport входит в VB Project/Add DataReport

Слушай может знаешь как программно задать формат у колонки, мне нужно у одной финансовый формат, у другой чтобы числа со знаком процента выодил
Делаю для поля DataGrid1.Columns(1).NumberFormat = "Currency" и получаю 1 234 567, 00р. Вопрос. Как программно задать количество знаков после запятой и убрать символ, в данном случае, "р".
Делаю для поля DataGrid1.Columns(1).NumberFormat = "Number", то числа выводятся не в финансовом формате
Делаю для поля DataGrid1.Columns(2).NumberFormat = "Percantage", то вообще какая-то лажа выохдит
Re[7]: Вопрос по DataGrid
От: nimnul  
Дата: 05.11.01 09:05
Оценка:
Здравствуйте Disieux, Вы писали:


D>Слушай может знаешь как программно задать формат у колонки, мне нужно у одной финансовый формат, у другой чтобы числа со знаком процента выодил

D>Делаю для поля DataGrid1.Columns(1).NumberFormat = "Currency" и получаю 1 234 567, 00р. Вопрос. Как программно задать количество знаков после запятой и убрать символ, в данном случае, "р".
D>Делаю для поля DataGrid1.Columns(1).NumberFormat = "Number", то числа выводятся не в финансовом формате
D>Делаю для поля DataGrid1.Columns(2).NumberFormat = "Percantage", то вообще какая-то лажа выохдит

Я так понимаю, что ежели из финансового формата убрать символ валюты, то это и будет числовой формат, так что проблема в разделителях разрядов....
Я вообще то в ВАСИКе не силён, но если формат можно задать не номером, а строкой, попробуй что то вроде
"# ##0.00" количество нулей после точки соответствует количеству знаков после точки в результате.
Или в SQL есть такая штука как
ROUND (numeric_expr, length) Numeric expression rounded off to the length (or precision) specified as an integer expression (tinyint, smallint, or int). Result is of the same type as numeric_expr.The ROUND function always returns a value even if the length is illegal. If the specified length is positive and longer than the digits after the decimal point, 0 is added after the fraction digits.If the length is negative and larger than or equal to the digits before the decimal point, ROUND returns 0.00.
Re[8]: Вопрос по DataGrid
От: Disieux  
Дата: 05.11.01 11:29
Оценка:
Здравствуйте nimnul, Вы писали:

N>Я так понимаю, что ежели из финансового формата убрать символ валюты, то это и будет числовой формат, так что проблема в разделителях разрядов....

N>Я вообще то в ВАСИКе не силён, но если формат можно задать не номером, а строкой, попробуй что то вроде
N>"# ##0.00" количество нулей после точки соответствует количеству знаков после точки в результате.
я не понял, что значит задать формат строкой или номером
Re[9]: Вопрос по DataGrid
От: nimnul  
Дата: 05.11.01 12:39
Оценка:
Здравствуйте Disieux, Вы писали:

D>я не понял, что значит задать формат строкой или номером

Пиши ка мне на мыл: montanero@rambler.ru
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.