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

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

Автор: jicoff
Дата сообщения: 25.09.2006 17:32
ChiefPilot

Если бы эти классы были не совместимы на уровне исходников, то не удалось бы собрать пакет с гридом. А он наверняка собрался и проинсталировался. Какая на самом деле выдается ошибка?
Автор: xitsmex
Дата сообщения: 25.09.2006 20:51
Задача: элементы отображаются как в гриде, так и в лист вью. Пользователь сам выбирает. Задача - прикрутить фильтры грида к лист вью. Знаю, что можно пробежаться по DataController.Filter и пропарсить самому все условия, но придется и форму задания условий самому рисовать, не очень хочется. Может, кто-то знает более красивое решение? (В гриде отобража.тся свойства элементов, при просмотре списком - просто элементы, свойства видно отдельно.)
Автор: ChiefPilot
Дата сообщения: 26.09.2006 09:19
jicoff
Спасибо за ответ, но это, видимо, был какой-то кривой дистрибутив. Потому, что мы достали дистрибутив от feandy (кстати, где говорить "спасибо"? ) и всё стало хорошо!
Автор: moonrise
Дата сообщения: 26.09.2006 12:56
Вопрос:

имеется cxGrid1TableView1

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

мое решение:

Код: procedure TForm1.cxGrid1TableView1CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
If AViewInfo.Selected then
Label1.Caption := IntToStr(AViewInfo.GridRecord.RecordIndex);
end;
Автор: jicoff
Дата сообщения: 26.09.2006 16:32
moonrise

А что, на драг и дроп CustomDrawCell срабатывает? По мне так проще по координатам мыши определять текущую запись.
Автор: moonrise
Дата сообщения: 26.09.2006 16:43
на дроп срабатывает cxGrid1TableView1DragDrop
CustomDrawCell используется для определения какая именно запись под мышкой

по координатам можно пример? а то, что -то не получается..
с учетом того, что скрол (т.е. не все записи отображаются в пределах формы.. что-то "выше")
Автор: jicoff
Дата сообщения: 26.09.2006 19:14
moonrise

Вот такая у меня есть функция, на паскаль переводи сам:

TcxCustomGridTableItem *__fastcall GetLayoutItem(TcxCustomGridView *GridView)
{
TcxCustomGridTableView *ptv;

ptv = dynamic_cast<TcxCustomGridTableView*>(GridView);
if(ptv)
{
POINT pos;

GetCursorPos(&pos);
::ScreenToClient(ptv->Site->Handle, &pos);

TcxGridRecordCellHitTest *gvCellHitTest;

gvCellHitTest = dynamic_cast<TcxGridRecordCellHitTest*>(ptv->ViewInfo->GetHitTest(pos.x, pos.y));
if(gvCellHitTest)
{
return gvCellHitTest->Item;
}
}
return 0;
}

у TcxGridRecordCellHitTest есть и Item, и GridRecord. Если Item не нужен, можешь приводить к TcxGridRecordHitTest.
Автор: forgery
Дата сообщения: 26.09.2006 22:31
Доброго времени суток!

У меня компоненты на Delhi 6, Developer Suite Greed, еще старого варианта dx... т.е., хотелось бы где-то найти версию такого же грида, но не в новом исполнении типа cx... , а в старом типа dx... для Delhi 7.

С большой надеждой.... плз.
Автор: hobest
Дата сообщения: 26.09.2006 23:32
forgery

А что, исходников нет, нельзя под 7 скомпилироваь?
Автор: forgery
Дата сообщения: 27.09.2006 00:18
hobest
есть, но они сильно привязаны к шестерке ... некоторые файлы перекомпелились с ходу, некоторые я поправил, и тоже пошли, а в некоторых вообще не разобрался...
Автор: educat
Дата сообщения: 27.09.2006 06:40
Если кто знает, подскажите как в cxSpreadSheetBook программно выделить диапазон ячеек для их дальнейшего объединения.
Выделить одну проблем нет
ActiveSheet.SelectCell(Col,Row);
объединить выделенные тоже
SetMergedState(SelectionRect, True);
а как выделить диапазон?


Добавлено:
По поводу выделения диапазона вопрос снимается, пока его задавал пришла мысль, а её реализация позволила объединять ячейки.
Просто создал еще один Trect присволи ему нужные значения и присвоил его SelectionRect
Автор: Alex47
Дата сообщения: 27.09.2006 08:25
forgery

Цитата:
хотелось бы где-то найти версию такого же грида, но не в новом исполнении типа cx... , а в старом типа dx... для Delhi 7.


Это Grid v3.X. Инсталлятор feandy включает в себя эту старую версию (по крайней мере, совершенно точно включал еще несколько месяцев назад). Советую к feandy в ПМ и обратиться.
Автор: moonrise
Дата сообщения: 27.09.2006 09:44
jicoff

Цитата:
Вот такая у меня есть функция, на паскаль переводи сам:

спасибо.. чичас попробую

Добавлено:
jicoff

Код: TcxCustomGridTableItem *__fastcall GetLayoutItem(TcxCustomGridView *GridView)
Автор: sunduk4
Дата сообщения: 27.09.2006 11:59
Через cxEditRepository определяю для ячеек одной из колонок грида Propertys.
Подскажите, пожалуйста, как сказать комбобоксу в ячейке DropDown?
Автор: afiget
Дата сообщения: 27.09.2006 12:10
sunduk4
Было уже. Поищи.
Автор: jicoff
Дата сообщения: 27.09.2006 13:26
moonrise

В каком смысле нашел? И какой вопрос? Не сапоги точаю, программы пишу.
Автор: moonrise
Дата сообщения: 27.09.2006 13:51
jicoff
я не нашел там метода такого..
нету у TcxCustomGridView свойства/метода GetLayoutItem
по крайней версии у меня (5.7 версия)
Автор: sunduk4
Дата сообщения: 27.09.2006 13:52
afiget
искал, была похожая проблема, но решения так и не нашлось..
Автор: jicoff
Дата сообщения: 27.09.2006 14:03
moonrise

А кто сказал, что у грида есть такое свойство? Это моя функция, и как можно заметить вне всякого класса. Это как пример нахождения записи и колонки по текущей позиции мыши приводился.
Автор: moonrise
Дата сообщения: 27.09.2006 14:40
да.. давно я в сях не копался.. совсем синтаксис забыл
спасибо. вот что получилось (для потомков)
Код: function GetLayoutItem(GridView: TcxCustomGridView): TcxCustomGridTableItem;
var
    pos : TPoint;
begin
    if (GridView is TcxCustomGridTableView) then
    begin
        GetCursorPos(pos);
        windows.ScreenToClient((GridView as TcxCustomGridTableView).Site.Handle,pos);
        if ((GridView as TcxCustomGridTableView).ViewInfo.GetHitTest(pos.x,pos.y) is TcxGridRecordCellHitTest) then
        begin
Result := ((GridView as TcxCustomGridTableView).ViewInfo.GetHitTest(pos.x,pos.y) as TcxGridRecordCellHitTest).Item;
        end;
    end
else Result := nil;
end;
Автор: Prot_XT
Дата сообщения: 27.09.2006 19:09
Выставляю в поле QuantumGrid Propertys = ComboBox
Подскажите, пожалуйста, как программно заполнить его свойство items?
Автор: RayZ
Дата сообщения: 27.09.2006 23:18
Prot_XT, в шапке есть ссылки на то, где об этом не раз спрашивали.

TcxComboBoxProperties(<View>.Columns[1].Properties).Items.Add...
Автор: Alex1978
Дата сообщения: 28.09.2006 08:08
Может только у меня такая лажа, но последний DBVerticalGrid отличается от предыдущего - при прочих равных условиях строки стали иметь большую высоту. Так если раньше на форме в DBVerticalGrid без полосы прокрутки вмещалось 8 строк, то после установки последних DevExpress - открываю форму в дизайн и вижу 7 строк и полосу прокрутки.

У кого-нить еще такое имело место быть?
Автор: Alex47
Дата сообщения: 28.09.2006 08:28
sunduk4

Цитата:
Подскажите, пожалуйста, как сказать комбобоксу в ячейке DropDown?


В обработчиках OnInitEdit (View или колонок) можно так:

TcxLookupComboBox(AEdit).DroppedDown := true;

Более общий случай:

<grid>.SetFocus;
with <View>.Controller.EditingController do begin
ShowEdit(<Column>);
TcxCustomDropDownEdit(Edit).DroppedDown := True;
end;
Автор: valmont
Дата сообщения: 28.09.2006 09:44
где в гриде, можно отключить встроенный его post?
а то получается сохраняю в таблицу post'м и вываливается ошибка в этом гриде..
Автор: X11
Дата сообщения: 28.09.2006 10:13
<View>.DataController.Options.dcoImmediatePost
Автор: sunduk4
Дата сообщения: 28.09.2006 10:13
Alex47
Спасибо! Получилось.
Автор: valmont
Дата сообщения: 28.09.2006 10:32
X11
стоит фалс
Автор: jicoff
Дата сообщения: 28.09.2006 11:45
moonrise


Цитата:
и сменой типа возращаемого функцией результата на TcxCustomGridRecord


У меня для такого случая есть функция GetLayoutRecord, которая и возвращает TcxCustomGridRecord.

Автор: X11
Дата сообщения: 28.09.2006 12:54

Цитата:
где в гриде, можно отключить встроенный его post?
а то получается сохраняю в таблицу post'м и вываливается ошибка в этом гриде..

valmont, ну дык... что за ошибка-то?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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