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

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

Автор: Czechoslovak
Дата сообщения: 27.02.2008 15:18
neznayka3
Сделай вычисляемое поле

Автор: X11
Дата сообщения: 28.02.2008 11:21
Вопрос по компоненте TcxDateEdit. Когда начинаешь там набирать ручками число, то весь текст исчезает, как сделать так, что бы при наборе вся дата не стиралась, нужно менять число, допустим, и нажимать Enter, но пользователю приходится вводить дату полностью. (((
Автор: drunk2
Дата сообщения: 28.02.2008 13:06
neznayka3
Прицепи PopupEdit и вешай, что хочешь.
X11
Измени InputKind.
Автор: kash9
Дата сообщения: 28.02.2008 14:55
у меня есть два вопроса по cxgrid-у:

1.Как автоматом заполнить какое либо поле,т.е. у меня в lookupcombobox-е выбираются инвентарные номера оборудования(таблица "оборудование")и ниже идет грид в котором сразу отображаются комплектующие относящиеся к данному оборудованию(таблица "Комплектующие" каждая запчать имеет ссылку на id_оборудования) дак вот мне нужно чтоб человек выбрал инвентарник и даже если в комплектующих нет ни одной железки с таким инвентарником, а поле с id_оборудования для новой записи уже бы заполнилось таким как выбрано в луукапе.

и второй вопрос
2. можно ли в одном гриде отобразить две связаные таблицы
допустим выбрал человек оборудование="системный блок" из таблицы "оборудование" и тут же в этом же гриде в виде дерева под строчкой с системником и всякими данными о нем выпала его комплектация

зарание благодарен! и очень очень жду оветов!
Автор: X11
Дата сообщения: 28.02.2008 16:39

Цитата:
1.Как автоматом заполнить какое либо поле,т.е. у меня в lookupcombobox-е выбираются инвентарные номера оборудования(таблица "оборудование")и ниже идет грид в котором сразу отображаются комплектующие относящиеся к данному оборудованию(таблица "Комплектующие" каждая запчать имеет ссылку на id_оборудования) дак вот мне нужно чтоб человек выбрал инвентарник и даже если в комплектующих нет ни одной железки с таким инвентарником, а поле с id_оборудования для новой записи уже бы заполнилось таким как выбрано в луукапе.

слишком расплывчато описано, и мне кажеться, что дело не в cxGrid`е

Добавлено:

Цитата:
2. можно ли в одном гриде отобразить две связаные таблицы

используй уровни
Автор: kash9
Дата сообщения: 28.02.2008 20:25
про уровни я уже малость разобрался, спасибо!

а по первому вопросу попытюсь уточнить.
как сделать чтоб при вставке новой строки в грид одно поле автоматом заполнялось значением из lookupcombobox-а?
Автор: X11
Дата сообщения: 01.03.2008 10:25
это поле сделай типа lookupcombobox
Автор: X11
Дата сообщения: 01.03.2008 20:21
Кто-нибудь пробовал использовать скины в cxGrid`е? Это ж кошмар.... Прошло уже пол-года, а разработчики так и не реализовали нормальную поддержку скинов. На компе с процом P4-640, 1,5 гига памяти, видяха GeForce 8600, прорисовка грида идёт постоянно с весьма заметным мерцанием. Этот ж какой ком должен быть для нормальной работы скинов?
Автор: kash9
Дата сообщения: 01.03.2008 20:52
блин! как сделать дефолтное значение ячейки! типа начал новую строку заполнять а бац одна ячейка уже заполнена!
Автор: X11
Дата сообщения: 01.03.2008 20:56
Наверное, это в в самой базе лучше сделать
Автор: Czechoslovak
Дата сообщения: 03.03.2008 09:34
kash9
что-нибудь такое
событие AfterInsert ...
cxGrid1.DataController.Values[cxGrid1.DataController.FocusedRecordIndex, ItemIndex] := DefaultValue;
Автор: sergbl2003
Дата сообщения: 03.03.2008 21:48
Необходимо обработать все выделенные строки cxGrid


Код:
for(int i=0; i<cxgPrtDBTableView1->DataController->Controller->SelectedRecordCount; i++)
{
int gId = cxgPrtDBTableView1->DataController->Controller->SelectedRecords[i]->Values[1];
...
}
Автор: greenpc
Дата сообщения: 04.03.2008 07:43
sergbl2003
открой предыдущюю страницу я давал решение
Автор: sergbl2003
Дата сообщения: 04.03.2008 12:53
greenpc
твое решение выдает ту же ошибку при i=55.
Тут надо как-то по-другому, ведь грид не знает сколько будет записей и какие значения
У кого есть еще какие предложения?
Автор: afiget
Дата сообщения: 04.03.2008 19:29
sergbl2003
Если в дебаге посмотреть, то на что именно выдает АВ?

Код: cxgPrtDBTableView1->DataController->Controller->SelectedRecords[i]
Автор: sergbl2003
Дата сообщения: 04.03.2008 22:25
afiget
спасибо за ссылку, там написано, что если GridMode = True (а у меня именно такой случай), то надо использовать GetSelectedBookmark вместо SelectedRecords
Вот и решение проблемы
Автор: neznayka3
Дата сообщения: 05.03.2008 13:46
есть TcxDBCurrencyEdit для ввода суммы. при наборе КАЖДОЙ последующей цифры другие поля должны соответственно изменятся. использую TcxDBCurrencyEdit.EditValue тк сохранения еще не происходит. какое событие использовать?
OnEditing, PropertiesOnChange, PropertiesOnEditValueChanged срабатывают после потери фокуса ввода. или подскажите как это реализовать. ставить KeyPreview:=true у главной формы и потом обрабатывать ... как то через Ж.
Автор: delmi777
Дата сообщения: 05.03.2008 15:33
Помогите пожалуйста начинающему программисту! как связать между собой два грида чтобы при выборе одного элемента в первом гриде отображалась информация/данные по этому элементу во втором.
Или подскажите где можно найти книги по использованию DevExpress.
Автор: sergbl2003
Дата сообщения: 05.03.2008 21:18

Цитата:
как связать между собой два грида чтобы при выборе одного элемента в первом гриде отображалась информация/данные по этому элементу во втором

Если данные берутся из БД, то связывать надо между собой две таблицы, т.е. через master-detail.
И если уж совсем начинающий, то советую сначала потренироваться на стандартном DBGridе, в нем нет таких наворотов
Автор: makz
Дата сообщения: 06.03.2008 05:38
Не пойму cxGridView или FIBPlus виноват: ввожу новую запись, первое поле в табличку, пытаюсь перейти на следующее поле - сразу же вылетат ошибка, Value ***Null***, т.е. постит до того как я все поля введу. Как побороть, если нельзя дефолтные значения подсовывать?
Автор: ILSOFT
Дата сообщения: 06.03.2008 07:59
makz

Цитата:
Не пойму cxGridView или FIBPlus виноват: ввожу новую запись, первое поле в табличку, пытаюсь перейти на следующее поле - сразу же вылетат ошибка, Value ***Null***, т.е. постит до того как я все поля введу. Как побороть, если нельзя дефолтные значения подсовывать?

Убери Requred у поля. Преведи датасет в режим кешируемых обновлений... Только реши для себя, надо ли пользователю разрешать не вводить все значения? Если можно то БД неправильно разработана, если нельзя - то ошибка все равно возникнет на этапе передачи данных в базу. А тут сразу, как у собаки павлова, не все набрал - получи ошибку, рефлекс вырабатывается
Автор: kash9
Дата сообщения: 06.03.2008 08:32
delmi777
для этого нужно использовать levels
примеры должны быть вместе с исходниками грида
\ExpressQuantumGrid 6\Demos\Delphi\MasterDetailDemo\

или читай хелп
\ExpressQuantumGrid 6\Help\expressquantumgrid6.hlp
содержание\tutorials\master-detail tutorials

там все подробно расписано
Автор: zver
Дата сообщения: 06.03.2008 09:13
Народ, нужна помощь. Имеется цикл по выделенным строчкам cxGrid:

Код:
for (int i = 0; i < TableView1->Controller->SelectedRowCount; i++) {
    TableView1->Controller->SelectedRows(i)->Values(TableView1Col1->Index)="5";
    }
Автор: makz
Дата сообщения: 06.03.2008 15:24
ILSOFT
Прикол в том, что раньше работало вроде все без включения cached updates. В базе есть несколько обязательных полей.
Цитата:
ошибка все равно возникнет на этапе передачи данных в базу

Так почему передаются значения сразу, при вводе поля? мне надо только после Post вручную. Попробую конечно с cached updates теперь.
Автор: VikLabel
Дата сообщения: 06.03.2008 22:43
На форме есть cxLookUpCombobox, он заполняется из ADODataset select'om
из мастер таблицы (в ней такие поля (для примера): ID, Street, City)
ID - ключевое, выбирается - Street, т.е. cxLookUpCombobox.Text = Street
Все остальные на форме компоненты относяться к деталь таблице, в которую
необходимо вставить значение ID из мастер таблицы.
Можно ли получить из cxLookUpCombobox значение ID? Т.е. визально выбирается улица,
а например в переменную пихается значение ID. Или как это лучше сделать?
Автор: kash9
Дата сообщения: 07.03.2008 06:01

Цитата:
Можно ли получить из cxLookUpCombobox значение ID

т.е. у тебя вот так
cxlookupcombobox1.keyfieldnames:=id
cxlookupcombobox1.listfieldnames:=street

тогда
cxlookupcombobox1.editvalue в нем id
cxlookupcombobox1.text в нем street
Автор: ILSOFT
Дата сообщения: 07.03.2008 06:45
makz

Цитата:
Так почему передаются значения сразу, при вводе поля? мне надо только после Post вручную. Попробую конечно с cached updates теперь.

насколько помню всегда при переходи с записи в режиме dsInsert или dsEdit на любую другую запись в датасете, вызывается post.
Автор: downloads2005
Дата сообщения: 08.03.2008 14:22
Скажите, пожалуйста, можно ли сделать в квантумгриде так:

|---------|-----|----------|--------------|--------------|----------|
| | | | Рабочие дни | Выходн. дни | |
| Фамилия | Имя | Отчество |--------------|--------------| СУММА |
| | | | Часы | Сумма | Часы | Сумма | |
|---------|-----|----------|------|-------|------|-------|----------|
|Иванов |Иван |Иванович | 10 | 200 | 10 | 400 | 600 |
|---------|-----|----------|------|-------|------|-------|----------|

Т.е. чтобы фамилия, имя, отчество, сумма званимали по две строки заголовка, а остальные делились.. Что-то типа сочетания Table и BandedTable.
Спасибо за ответы, извините, если вопрос уже был (искал - не нашел).
Автор: afiget
Дата сообщения: 08.03.2008 18:53
Такой вид нужно рисовать самому:
Пример
Автор: Lexus300
Дата сообщения: 09.03.2008 17:26
народ, подскажите, почему при использовании агрегатной функции cstSum в SummaryFooter не происходит никаких действий. т.е. сумма 0,00?
использую dxGrid

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182

Предыдущая тема: Язык программирования на русском языке


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