Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress

Модерирует : ShIvADeSt

ShIvADeSt (29-01-2007 03:17): идем сюда
http://forum.ru-board.com/topic.cgi?forum=33&topic=7918
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

   

golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DevExpress

Обмен опытом, обсуждение нюансов и решение проблем возникающих при использовании библиотеки компонент Developer Express




 
Сами прирученные компоненты частенько приходят на водопой сюда

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 10:42 08-10-2003 | Исправлено: golkanavt, 15:41 08-09-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yuish
 
А что, установка cxDataEdit.Properties.SaveTime = false не помогает?

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 15:10 21-08-2006
yuish

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jicoff
Нет. в этом случае время на экран не выводится, но передается все равно

Всего записей: 218 | Зарегистр. 10-02-2003 | Отправлено: 15:58 21-08-2006
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
yuish, тип datetime суть число типа float, в котором время - значение после запятой.
Если оно должно быть равно 0:00, пусть после запятой будет нолик.  
Round лучше не использовать, лучше - Trunc.

Всего записей: 276 | Зарегистр. 23-01-2005 | Отправлено: 16:03 21-08-2006
yuish

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
korobovmax
Сенкс, буду пытать.

Всего записей: 218 | Зарегистр. 10-02-2003 | Отправлено: 16:53 21-08-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yuish
 
А cxDataEdit.Properties.Kind = ckDate?

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 17:09 21-08-2006
yuish

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jicoff
Все одно. По запросу отправляло со временем. Вот совет от korobovmax вроде сработал.

Всего записей: 218 | Зарегистр. 10-02-2003 | Отправлено: 17:14 21-08-2006
bodomus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
To yuish
Есть такая замечательная функция  
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
Она позволит тебе ворматировать Дату/время как угодно  
Если вызвать ее так  FormatDateTime( 'ddmm', DateTime) то она выведет  тебе день/месяц ....без всякого времени. Возможности функции впечатляют.  

Всего записей: 121 | Зарегистр. 18-11-2005 | Отправлено: 17:44 21-08-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yuish
 
Тогда получается, что в DevExpress глюк. В хелпе написано, что редактор обрезает порцию со временем при установке SaveTime = false.
 
bodomus
 
Тогда придется из TDateTime преоразовывать в String, а потом обратно в TDateTime. Не самое хорошее решение.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 17:48 21-08-2006 | Исправлено: jicoff, 17:50 21-08-2006
yuish

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bodomus
Функция хорошая, но получить мне надо тоже в формате даты, а данная функция дает стринг, при обратном преобразовании - иногда дает глюки с базой mysql. если работаю с mssql - тогда преобразовыю куда и как хочу - работает нормально.
 
jicoff
в том то и проблем что обрезает, но только на экран, возьми простую базу в акцессе и попробуй - могут проявится проблемы. хотя тут может от версии девок зависит.

Всего записей: 218 | Зарегистр. 10-02-2003 | Отправлено: 17:54 21-08-2006
xokc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yuish
Самое простое - DateOf. Если совсем параноидально, то DecodeDate/EncodeDate.

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 21:23 21-08-2006
bodomus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Присоединяюсь к xokc. Если надо просто обнулить время то таки да - DateOf

Всего записей: 121 | Зарегистр. 18-11-2005 | Отправлено: 09:13 22-08-2006
avkh

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В приложении все действия выполняются через TAction.
TAction сгруппированы в разные TActionList'ы.
Использую TdxBarManager.
В каждый момент времени активен "общий" TActionList (TdxBar соответствует MainMenu) и д.б. активен только один "дополнительный" TActionList.  
Соответственно, хочется иметь отдельный TdxBar соответствующий дополнительному TActionList'у.
Как лучше сделать?  
Если иметь много дополнительных dxBar'ов и управять их Visible - прыгает размер самого менеджера (1<->2 строки) - некрасиво.
Иметь один dxBar и управлять видимостью кнопок - просто неудобно.
Как лучше сделать?

Всего записей: 23 | Зарегистр. 30-11-2004 | Отправлено: 16:10 23-08-2006
golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такс.. то ли торможу то ли лыжи не едут. Задача - в гриде при изменении значения одной колонки (дата начала периода) автоматом выставлять значение в соседней колонке (дата окончания периода). Делаю следующим образом в обработчике OnEditValueChanged первой колонки:

Код:
 
  with tvMyView.DataController do
    begin
      if ([dceInsert] <= EditState) then
        begin
          Values[FocusedRecordIndex,
                 TcxGridDBTableView(GridView).GetColumnByFieldName('ENDDATE').Index] :=
            DateOf(TcxDateEdit(Sender).EditValue) + 1;
        end;
    end;
 

 
Собственно, проблема в том что этот код отрабатывает вхолостую, т.е. мало того что не меняется значение второй колонки так еще и не постится значение первой колонки - обе остаются пустыми. У обеих колонок Properties.DateEdit.ImmediatePost = True.

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 16:23 23-08-2006 | Исправлено: golkanavt, 16:25 23-08-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
golkanavt
 
Вот пример с сайта, ссылку не помню.
 
// Delphi code
uses
  cxVariants, cxDataUtils;
 
procedure <Form>.<Column>PropertiesEditValueChanged(
  Sender: TObject);
var
  Edit: TcxCustomEdit;
  Value: Double;
  View: TcxGridDBTableView;
  AnotherColumn: TcxGridColumn;
begin
  Edit := Sender as TcxCustomEdit;
 
 if VarIsNumericEx(Edit.EditValue) then
  begin
    Value := Edit.EditValue;
 
    Edit.PostEditValue;  // To 'stick' the new value in the active cell
 
    View := <Grid>.FocusedView as TcxGridDBTableView;
    AnotherColumn := View.GetColumnByFieldName(AnotherField);
 
   View.DataController.SetEditValue(AnotherColumn.Index, Value/5, evsValue);
  end;
end;

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 17:51 23-08-2006
golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jicoff
отлично, спасибо за наводку.. значит, все дело в волшебных пузырьках, т.е. PostEditValue и SetEditValue

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 15:25 24-08-2006
Bill_PHO

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не подскажет ли кто, как в cxGrid прочитать значение FooterSummary конкретной колонки?

Всего записей: 287 | Зарегистр. 15-08-2003 | Отправлено: 16:33 24-08-2006
golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bill_PHO

Цитата:
Не подскажет ли кто, как в cxGrid прочитать значение FooterSummary конкретной колонки?

 
<Grid>.FocusedView.DataController.Summary.FooterSummaryItems;

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 17:17 24-08-2006
Bill_PHO

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
golkanavt
Спасибо.
 
Добавлено:
golkanavt

Цитата:
Grid>.FocusedView.DataController.Summary.FooterSummaryItems;

А как это будет выглядеть для конкретной колонки?
 
Добавлено:
golkanavt
 
Получилось так:
Grid>.FocusedView.DataController.Summary.FooterSummaryValues[0];
 
Спасибо за наводку.

Всего записей: 287 | Зарегистр. 15-08-2003 | Отправлено: 17:24 24-08-2006 | Исправлено: Bill_PHO, 17:31 24-08-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bill_PHO
 
Вообще-то для связи с колонкой существует
 
FocusedView.DataController.Summary.FooterSummaryItems[i].ItemLink.
 
Если элементов много, то можно пройтись по всему списку и проверить на равенство ItemLink и указателя на конкретную колонку.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 19:32 24-08-2006
Bill_PHO

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jicoff
Тоже полезно для меня.
Спасибо.

Всего записей: 287 | Зарегистр. 15-08-2003 | Отправлено: 10:49 25-08-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress
ShIvADeSt (29-01-2007 03:17): идем сюда
http://forum.ru-board.com/topic.cgi?forum=33&topic=7918


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru