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

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

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

ShIvADeSt (07-02-2009 14:53): Продолжаем тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10123#1
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122

   

ShIvADeSt



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

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




 
Сами прирученные компоненты частенько приходят на водопой сюда
 
DLL со скинами из библиотеки dxSkins, автор Ziltoid Подробнее... линк обновлен
Продолжение, начало тут
 

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:16 29-01-2007 | Исправлено: VitaliM, 15:47 24-11-2008
infomSB



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sufferer
Понятно.
Во-первых попробуйте делать не Locate списка, а менять значение самого лукапа, тогда в списке запись уже сфокусируется автоматически. Изменить значение лукапа можно атрибутом KeyValue или EditValue  . Так же перед изменением значения в ВертикалГриде в runtime вызывайте метод DataController.Edit у Вгрида, а после изменения совершайте VGRid.HideEdit.

Всего записей: 75 | Зарегистр. 17-03-2006 | Отправлено: 12:59 26-12-2007
zver

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подстроку(второй этаж строки) надо делать то видимой, то нет в зависимости от значений тех строк, которые находятся в данной области.  
 
cxGrid1BandedTableView1.Bands.Items[0].Columns[1].Visible := false уберет столбец для всех строк всего набора данных.
 

Всего записей: 66 | Зарегистр. 07-06-2004 | Отправлено: 14:05 26-12-2007
OXDBA

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

Цитата:
 Как в VerticalGrid при добавлении MultiEditor неотображать заголовок одного из едиторов?  

Multi editor caption

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 14:13 26-12-2007
Dronton2

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

Цитата:
Меньше 20 пикселеей заголовок не сделать

VerticalGrid.OptionsView.RowHeaderMinWidth не поможет?

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

Может, попробовать EditorRow.Properties.Value := ...

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 14:51 26-12-2007
Sufferer



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

Цитата:
Multi editor caption

Ай спасибо за наводку. Буду смотреть, что буржуины предлагают.
 
 
Добавлено:
Не, ну это просто нет слов...
Вместо того чтобы завести свойство Visible для заголовка, программеру предлагается сделать вот такое:
procedure TForm1.cxVerticalGrid1DrawRowHeader(Sender: TObject;
  ACanvas: TcxCanvas; APainter: TcxvgPainter;
  AHeaderViewInfo: TcxCustomRowHeaderInfo; var Done: Boolean);
 
var
  ACaptionRect: TRect;
begin
  if AHeaderViewInfo is TcxMultiEditorRowHeaderInfo then
    with AHeaderViewInfo do
    begin
      APainter.DrawRowIndent(AHeaderViewInfo);
      ACaptionRect := HeaderRect;
      ACaptionRect.Left := IndentBounds.Right;
      Transparent := True;
      ACanvas.Brush.Color := ViewParams.Color;
      ACanvas.FillRect(ACaptionRect);
      ACanvas.Font := ViewParams.Font;
      ACanvas.DrawTexT('New Caption', ACaptionRect, cxAlignLeft or cxAlignVCenter or cxShowEndEllipsis);
      Done := True;
    end;
end;
Причем, это непохоже на заплатку. 8-[

Всего записей: 271 | Зарегистр. 21-07-2001 | Отправлено: 18:47 26-12-2007
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dronton2
Спасибо! Мне решение с TcxImageComboBox понравилось

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 23:01 26-12-2007 | Исправлено: brookson, 23:02 26-12-2007
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Снова доброго всем времени суток!
 
Некая проблема сводит меня с ума: Master-Detail cxGrid. В деталях выводятся не все записи. Чаще одна.
Стоят все индексы и связи. Ума не приложу, в чём дело и в какую сторону копать.
Может кто наступал на такие грабли? Буду неимоверно признателен!

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 21:37 27-12-2007
Chukotka

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

Цитата:
Некая проблема сводит меня с ума: Master-Detail cxGrid. В деталях выводятся не все записи. Чаще одна.  
Стоят все индексы и связи. Ума не приложу, в чём дело и в какую сторону копать.  

На основании вышесказанного строить какие-то предположения тяжело. Обнародуйте хотя бы краткое описание источников данных и настроек.

Всего записей: 428 | Зарегистр. 01-11-2006 | Отправлено: 01:11 28-12-2007
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brookson
было такое  
как вариант сделать в деталях ордер бай <поле связки с мастером>

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 09:51 28-12-2007 | Исправлено: greenpc, 09:59 28-12-2007
brookson



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

Цитата:
было такое  
как вариант сделать в деталях ордер бай <поле связки с мастером>

 
не помогло. то есть появилось вместо 1 подчинённой 2, а всего 3
 
описываю подробнее. мастер ссылается на IBdataset, деталей 2, обе ссылаются на IBquery.
То есть Датасет содержит перечень товара. а два подчинённых запроса информацию о приходе и расходе отдельно.
список полей в обоих подчинённых запросах немного отличается. может тут где-то причина?
добавляю подчинённые записи, там, где их не было - есть. а где уже была - там нету.

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 12:18 28-12-2007
greenpc

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

Цитата:
 два подчинённых запроса  

сделал в каждом запросе?
я так понимаю у тебя 3 таблицы?
то,название <поле связки с мастером> в подчиненных таб. одинаково?

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 12:22 28-12-2007 | Исправлено: greenpc, 12:33 28-12-2007
brookson



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

Цитата:
сделал в каждом запросе?

да. то есть сделал в обоих запросах и поле называется одинаково.
насчёт таблиц - в основном да. но датасет и запрос для того, что там много всяких лукапных полей, так что участие берут несколько таблиц по сути.

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 12:32 28-12-2007 | Исправлено: brookson, 12:43 28-12-2007
Chukotka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brookson
1. Глючат оба подчиненных запроса одновременно?
2. Попробуй проверить текст запросов, подставив ручками значение в <поле связи с мастером> - в том же IBExpert'e.

Цитата:
добавляю подчинённые записи

так глюки идут при навигации по мастеру или при попытке редактирования\добавления?

Всего записей: 428 | Зарегистр. 01-11-2006 | Отправлено: 14:08 28-12-2007
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brookson
попробуй кинуть на форму обычный TTable  
мастер+ 2 детали и посмотри что получается
если все ок (скорее всего так будет) то будем дальше думать

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 15:19 28-12-2007
brookson



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

Цитата:
1. Глючат оба подчиненных запроса одновременно?  
2. Попробуй проверить текст запросов, подставив ручками значение в <поле связи с мастером> - в том же IBExpert'e.  
 
Цитата:
добавляю подчинённые записи     
 
так глюки идут при навигации по мастеру или при попытке редактирования\добавления?

 
1. да
2. пробовал - там всё ок через  IBExpert
пробовал даже оставить одну деталь - ничего не поменялось
 
глюки идут, когда я раскрываю мастер-запись, и видны детали. ну вобщем просто глюки.
это ж всё один и тот же грид
 
Добавлено:

Цитата:
попробуй кинуть на форму обычный TTable  
мастер+ 2 детали и посмотри что получается  
если все ок (скорее всего так будет) то будем дальше думать

поставил все три таблицы, добавил лукап поля. убрал из грида группы - все равно не получается (((
 
а руками выбрать SQL-ем - и работает

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 16:28 28-12-2007
Chukotka

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

Цитата:
а руками выбрать SQL-ем - и работает

тады текст sql-запросов - в студию

Всего записей: 428 | Зарегистр. 01-11-2006 | Отправлено: 16:55 28-12-2007
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблема с обновлением значений поля.
Есть процедура (SP_SET_UNDELETED), которая устанавливает в таблице (FB 2.0.3) значение 0 (ноль) в поле DELETED. В самом гриде это поле имеет тип integer, свойство CheckBox, соответственно True это - 1, а False это - 0.
 

Код:
 
procedure TfmMain.actSetUndeletedExecute(Sender: TObject);
Var
 sId:string;
 i:integer;
begin
  try
    for i := 0 to dbgReklama.DataController.RecordCount - 1 do begin
      if dbgReklama.DataController.IsRowSelected(i) then begin
        sID := IntToStr(dbgReklama.DataController.Values[i, dbgReklamaID.Index]);
        DM.dbJDN.Execute('execute procedure SP_SET_UNDELETED('+ sID + ')');
        dbgReklama.DataController.RefreshExternalData;
      end;
    end;
  finally
//    actUpdateExecute(nil);
  end;
end;
 

Так вот, чекбокс поля Deleted в гриде меняет свой вид только у последней выделенной записи. Остальные меняют свой вид только после переоткрытия таблицы.
 
D2007+Fib6.8+DEVоктябрь

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 16:55 28-12-2007 | Исправлено: X11, 17:06 28-12-2007
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, кто-нибудь сталкивался с тем, что
cxGridDBTableView.DataController.post;
выполняется весьма долго, приблизительно 1 секунду.
Записи добавляются в цикле. В самой таблице около 1000 записей.
В pFibDataSet Autocommit отключен.
 
 D2007+Fib6.8+DEVоктябрь+FB2.0.3

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 11:04 29-12-2007
OXDBA

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

Цитата:
Так вот, чекбокс поля Deleted в гриде меняет свой вид только у последней выделенной записи. Остальные меняют свой вид только после переоткрытия таблицы.

Так и должно быть, dbgReklama.DataController.RefreshExternalData вызывает dbgReklama.DataController.DataSet.Refresh, который рефрешит текущую запись, в твоем случае последнюю селектнутую.

Цитата:
Народ, кто-нибудь сталкивался

Нет, ибо для массовых Insert\Update используют FIBQuery.
Кстати,  

Цитата:
  for i := 0 to dbgReklama.DataController.RecordCount - 1 do begin  
      if dbgReklama.DataController.IsRowSelected(i) then begin

это конечно круто, но есть еще dbgReklama.Controller.SelectedRows/dbgReklama.Controller.SelectedRowCount

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 11:37 29-12-2007
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
т.е. после изменения значений в двух-трёх записях переоткрывать запрос?
 
Добавлено:
Я только что переписал код. Теперь записи добавляются НЕ через грид, а непосредственно в TpFibDataset - результат тот же ((((((((
 
Я заметил, что во время цикла жарпитца грузит проц на 47-50%, само приложение на 0%
 
так, что дело в firebird?
 
полезу в триггеры ((((((( мож там у меня что интересного
 
Добавлено:
В триггере ничего интересного
 
  if (new.id is null) then
    new.id = gen_id(gen_treklama_id,1);
  new.LCD  = CURRENT_TIMESTAMP;
  new.INPUT_DATE = CURRENT_TIMESTAMP;

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 11:40 29-12-2007
   

Страницы: 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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress 2
ShIvADeSt (07-02-2009 14:53): Продолжаем тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10123#1


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru