Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Использование DevExpress

Автор: dnau
Дата сообщения: 25.06.2005 13:05
Alex47
1. Задавал так:

FocusedRow := Grid.DataController.FocusedRowIndex;
if EditForm.ShowModal = mrOk then begin
// бла-бла - пишу в базу

Query.Close; // делаю Refresh
Query.Open;
Query.Locate('uin', uin, []); // это true - я проверял

Grid.DataController.FocusedRowIndex := FocusedRow; // это делается как надо, но все равно при закрытии EditForm он меняется.
end;

3. В KeyFieldNames задано поле UIN, оно неизменно, записи в выборке упорядочены по трем полям, которые также неизменны. Т.е. после редактирования ключи сортировки не меняются!
4. GridMode := false;
Я правда и true его делал, разницы нет.

Помог совет из Knowledge Base Article на сайте DevExpress "How to Restore the Focused Position after a Record is Deleted"

var
FocusedRow, TopRow: Integer;
View: TcxGridTableView;
DataController: TcxGridDataController;
begin
View := cxGrid1.FocusedView as TcxGridTableView;
DataController := View.DataController;

// Remember the top row (the vertical scrollbar position)
TopRow := View.Controller.TopRowIndex;
// Remember the focused row(!) index
FocusedRow := DataController.FocusedRowIndex;

DataController.DeleteFocused;

// After deletion the same row must be focused,
// although it will correspond to a different data record
DataController.FocusedRowIndex := FocusedRow;
// Restore the top row
View.Controller.TopRowIndex := TopRow;

Т.е. запоминаем и устанавливаем TopRowIndex !!!
Автор: Alex47
Дата сообщения: 25.06.2005 23:24
dnau
1. Я тоже пользуюсь этим кодом из Knowledge Base для случая удаления записей.
Запоминается как TopRowIndex, так и FocusedRowIndex.
2. C этим кодом, кажется, должно и без Query.Locate('uin', uin, []) работать, по крайней мере для GridMode := false ?
Автор: dnau
Дата сообщения: 26.06.2005 09:42
Alex47
Да, этот код работает и без Locate.

Спасибо за помощь!
Автор: Bill_PHO
Дата сообщения: 04.07.2005 14:31
А вот как, если была добавлена новая запись, спозиционироваться на нее в гриде.
Locate ее находит, а грид на нее не становится.
Автор: golkanavt
Дата сообщения: 04.07.2005 17:14
Bill_PHO
SyncMode установлен? Грид в каком режиме?
Автор: Sergey1970
Дата сообщения: 05.07.2005 17:57
Интересуют примеры использования FlowChart. А именно использование методов UserRegion, PaintText, PaintImage, DefaultDrawObject и т.д.

Необходимо реализовать объекты с текстовкой и зонами (например классические PowerDesigne отображения таблиц в физической и логической модели БД).

Натолкните, плз, куда (и как рыть) рыть.


Автор: DimaDiZ
Дата сообщения: 05.07.2005 21:47
Стоят последние компоненты. Почему-то при включенном cellhints в гриде падает с AV при щелчке мышью на поле у которого этот hint выведен. Ни у кого не попадался такой глюк?
Автор: mln141
Дата сообщения: 06.07.2005 08:27
Стоят 5 девки для BCB6. Почему-то в DataModul перестал нормально работать cxPropertiesStore. А именно: если сохранять в INI то никакого эффекта. При сохранении в reg все работает. Когда стояли 4 девки то все было OK. В главной форме тоже все работает. Никто с таким не сталкивался?
Автор: haword
Дата сообщения: 06.07.2005 09:46
Незнаю, может кто в курсе, как сделатьу DexExpress прозрачный cxcheckbox при класической теме Windows? а то некрасиво смотрится серый прямоугольник на градиентном поле!
Автор: mln141
Дата сообщения: 06.07.2005 16:14
haword
А что ты хочешь? Если что-бы текст и вокруг него, то вроде достаточно установить NativeStyle (в Style->LookandFeel). Или ты хочешь, сам квадратик для галочки сделать как у подложки?
Автор: odysseus
Дата сообщения: 06.07.2005 21:27

Цитата:
haword
А что ты хочешь? Если что-бы текст и вокруг него, то вроде достаточно установить NativeStyle (в Style->LookandFeel). Или ты хочешь, сам квадратик для галочки сделать как у подложки?

По крайней мере в последней версии от девэкспресса это не работает. При включенной ХР теме -работает, при классической - нет
Автор: xxxxsoft
Дата сообщения: 07.07.2005 18:51
Всем привет!
Ребята вопрос следующий, просто нет времени разбираться, а сделать хочется.. Задача тривиальная и для знающих это вообще труда не сосотавит. Нужно вот что:
Есть TeeList нужно чтоб у нод, у которых есть дети данные ноды имели шрифт чтоль жирнее, то есть нужно применить стиль к определенным сторокам TreList-a.
Внимание вопрос... А Как это сделать??
Ну пока знатоки думают, пойду писать свой сабж.....
Автор: makz
Дата сообщения: 08.07.2005 07:09
По-видимому нужно обрабатывать событие onGetEditProperties столбцов, с условием
ANode.HasChildren.
Автор: xxxxsoft
Дата сообщения: 08.07.2005 08:20
makz
А сабжа нету?
Автор: golkanavt
Дата сообщения: 08.07.2005 10:30
xxxxsoft
используй обработчик OnCustomDrawCell и проверяй свойство ANode.HasChildren
Автор: VictorC
Дата сообщения: 09.07.2005 01:56
Имеется TdxDBLookupEdit с несколькими колонками. Можно ли вывести сверху этих колонок (как бы в 0-м ряду) заголовок?

Автор: golkanavt
Дата сообщения: 09.07.2005 10:49
VictorC
т.е. типа бэнда для всех этих колонок? или же просто шапки этих колонок?
Автор: xxxxsoft
Дата сообщения: 11.07.2005 05:35
golkanavt
Спасибо, сейчас попробую...

Добавлено:
golkanavt
void __fastcall TFrmMainTask::tlTaskCustomDrawCell(TObject *Sender,
TcxCanvas *ACanvas, TcxTreeListEditCellViewInfo *AViewInfo,
bool &ADone)
{

if(AViewInfo->Node->HasChildren && AViewInfo->Column==tlTasktaskname)
{
AnsiString str;
ACanvas->FillRect(AViewInfo->VisibleRect);
ACanvas->Font->Style<<fsBold;
str=AViewInfo->DisplayValue;
ACanvas->DrawTexT(str+" ("+IntToStr(AViewInfo->Node->Count)+")", AViewInfo->VisibleRect, 0, true);
ADone=true;
}
else
ADone=false;



}

Все равно не могу сделать так чтоб данная строчка стала жирной. И еще маленький вопрос, как сделать так, чтобы одна часть текста одним цветом, а другая часть другим цветом?
Автор: makz
Дата сообщения: 11.07.2005 09:40
xxxxsoft
Что-то сложновато как-то. В дельфях примерно так должно работать:

with ACanvas.Font do
if AViewInfo.Node.HasChildren then
Style:=Style+[fsBold]

Что значит часть текста? в одной ячейке? или строка через строку? или ячейка через ячейку? или по столбцам?
Автор: golkanavt
Дата сообщения: 11.07.2005 10:07
xxxxsoft
если тебе нужно выделение всей строки, то лучше использовать onGetContentStyle, что нить вроде:

Код:
if ANode <> Nil then
begin
if CheckYourConditions then
AStyle := Italic;
end
Автор: xxxxsoft
Дата сообщения: 11.07.2005 10:17
makz
Есть текст типа Уровень (1) нужно чтоб (1) было отрисовано синим цветом. пишем весь текст в одну ячейку.
golkanavt
Сейчас попробую данный сабж.
Автор: makz
Дата сообщения: 11.07.2005 10:55
xxxxsoft
Достаточно проблематично в одной ячейке разным шрифтом писать. Кажись только cxRichEdit это умеет. Может в данном случае получиться создать еще один столбец - "Уровень", и в него писать синие цифры?
Автор: xxxxsoft
Дата сообщения: 11.07.2005 11:06
makz
Можно попробывать, но я видел что так делали, думаю что нужно у колонки cв-во задать RichText или уже на худой конец рисовать на канве.
Автор: makz
Дата сообщения: 11.07.2005 11:24
xxxxsoft
cxRichEdit воткнуть в трилист не проблема - писать туда головняк, rtf не html.

Добавлено:
Хотя, демку сейчас посмотрел, не так страшен черт. Можно и без rtf обойтись.
Автор: xxxxsoft
Дата сообщения: 11.07.2005 13:08
makz

Цитата:
Хотя, демку сейчас посмотрел, не так страшен черт. Можно и без rtf обойтись.

Как?
Автор: makz
Дата сообщения: 11.07.2005 14:13
xxxxsoft
Прошу прощения, уходил по делам . Вот так например:

with cxRichEdit1 do begin
Text:='Условие(1)';
SelStart:=8;
SelLength:=1;
SelAttributes.Color:=clBlue;
end;
Автор: vmr90
Дата сообщения: 11.07.2005 18:20
Вопрос:

Возможно ли в grid 5.7 поле DateEdit по формату dd/mm/yyyy hh:nn

чтобы при вводе/изменении нигде не вылезали секунды ???

Спасибо
Автор: xxxxsoft
Дата сообщения: 11.07.2005 20:48
makz
СЕйчас попробую...
И вот еще один глюк:

Код:
Cxexporttl4link::cxExportTL4ToExcel(beFileOpen->Text,FTL,rbExportAll->Checked);
Автор: xokc
Дата сообщения: 11.07.2005 22:29
vmr90
Можно, если в качестве редактора поставить MaskEdit в поле Properties для соответствующей колонки и задать нужную маску. Правда при этом теряешь выпадающий календарь. Но можно туда поставить и ButtonEdit и самому обрабатывать нажатие на кнопку.
Автор: makz
Дата сообщения: 12.07.2005 06:49
vmr90
Вообще-то там есть два свойства: SaveTime и ShowTime. Их выключить недостаточно?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Kylix


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.