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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Alex1978

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
X11
MultiSelect включи у TableView. и как обычно работают Ctrl и Shift
 
Или не успел, или лоханулся. Предыдущий пост.
 
Блин пока писал, думал как же все-таки хорошо англоязычным и русским - все-то две раскладки, а нам украинцам то сортировка в гриде не та, то запаришься с переключением раскладки.

Всего записей: 306 | Зарегистр. 27-02-2003 | Отправлено: 15:14 22-09-2006 | Исправлено: Alex1978, 15:18 22-09-2006
golkanavt



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

Цитата:
Блин пока писал, думал как же все-таки хорошо англоязычным и русским - все-то две раскладки, а нам украинцам то сортировка в гриде не та, то запаришься с переключением раскладки.

 

дык вы эта, того, сделайте русский государственным

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 16:06 22-09-2006
vavavol



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не могу найти. Подскажите, пожайлуста, как пользоваться ини-файлами cxIntl_rus.ini для руссификации грида

Всего записей: 181 | Зарегистр. 25-01-2006 | Отправлено: 18:45 22-09-2006
vcrank

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имеется TcxTreeList. В данной ситуации сложно назвать "деревом", т.к. все ноды 0 уровня. Подскажите пожалуйста как переместить выбранный элемен вверх/вниз на одну позицию

Всего записей: 1067 | Зарегистр. 24-10-2005 | Отправлено: 16:39 24-09-2006
RayZ



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ПО идее, это должно добавлять в NewItemRecord поле в колонку GetColumnByFieldName('contagent'), которая скрытая значение, указанное в cxLookupComboBox1.EditValue.
Райзит экзепшн.
 

Код:
procedure TMainForm.tblFlatsFocusedRecordChanged(Sender: TcxCustomGridTableView;
  APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord;
  ANewItemRecordFocusingChanged: Boolean);
var
  CAIndex : Integer;
begin
  if ANewItemRecordFocusingChanged then begin
    CAIndex := TcxGridDBTableView(Sender).GetColumnByFieldName('contagent').Index;
    AFocusedRecord.Values[CAIndex] := cxLookupComboBox1.EditValue;
  end;
end;

Не работает. Начал рыться, прочитал:  

Цитата:
Note:    Although you are able to set the actual value of a specific item in a record, use this ability for unbound views only.  In order to set values for data-aware views, use the appropriate methods of the underlying data set instead.
 
 
Разве я могу добраться к Значению только активированного поля через датасет?

Всего записей: 381 | Зарегистр. 10-04-2002 | Отправлено: 04:10 25-09-2006 | Исправлено: RayZ, 04:24 25-09-2006
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex1978, Вы наверное не поняли меня.
я знаю как включить MultiSelect и выделить несколько записей подряд с пом. шифта, мне не понятно, можно ли как в гриде EhLib выделять записи через одну, а НЕ подряд.
 
Добавлено:
JackOff, в опциях TableView MultiSelect и CellMultiSelect установлено в True, а выделение с помощью клавиши Ctrl и мышки не работает.
 
установлен Express QuantumSuite 5.14
 
Добавлено:
ага, дошло, CellMultiSelect должно быть установлено в False
 
Добавлено:
Идиотизм. Зато теперь не работает множественное выделение ячеек
а может можно как-то реализовать и множественное выделение ячеек, и выделение записей "через одну"
 
Добавлено:
Вопрос "в догону": а как же теперь можно мышкой выделять несколько записей? Ибо множественное выделение работает только с Shift`ом %(

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 09:58 25-09-2006 | Исправлено: X11, 10:19 25-09-2006
vavavol



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите всё-таки же!! Скачал с http://www.freedevexpressaddons.com/ русский .ini для грида. А дельше что с ним делать?

Всего записей: 181 | Зарегистр. 25-01-2006 | Отправлено: 10:49 25-09-2006
X11



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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 10:56 25-09-2006
vavavol



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

Всего записей: 181 | Зарегистр. 25-01-2006 | Отправлено: 11:04 25-09-2006
X11



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

Цитата:
 русский .ini для грида

думаю, что только пакеты грида

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 11:09 25-09-2006
vavavol



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
X11
Странно. Насколько я понимаю, то вообще то русские ресурсы в cxGridStrs.pas. Как переинсталляция подцепит cxIntl_rus.ini?

Всего записей: 181 | Зарегистр. 25-01-2006 | Отправлено: 11:18 25-09-2006
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
есть процедура, в которую передаю TcxGridDBTableView, как параметр
Внимание, вопрос: как "пробежаться" по всем ВЫДЕЛЕННЫМ строкам FromGrid?
Требуется все выделенные записи грида скопировать в другой датасет.
 
procedure TfmMain.OtborByCxGrid(FromGrid:TcxGridDBTableView;ToGrid:TDBGridEh);
begin
...
 
заранее благодарен за ответ.
 
 
vavavol
странно, у меня cxIntl_rus.ini вообще нет на диске
тебе, наверное, нужно заново запустить установку и быбрать русский язык

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 11:21 25-09-2006 | Исправлено: X11, 11:26 25-09-2006
vavavol



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
X11
    for i:=0 to FromGrid.DataController.GetSelectedCount-1 do
    begin
 
              ARowIndex := FromGrid.DataController.GetSelectedRowIndex(i);
              ARowInfo := FromGrid.DataController.GetRowInfo(ARowIndex);
 
              ID:=FromGrid.DataController.GetRecordId(ARowInfo.RecordIndex);
 
    end;

Всего записей: 181 | Зарегистр. 25-01-2006 | Отправлено: 11:31 25-09-2006
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vavavol, спасибо
 
 
 
 
Уважаемые знатоки, какой код, по Вашему мнению, правильный, а если и тот, и тот правильный, то какой наиболее прапвильный, где могут быть зарыты грабли?
 
Код1
  for i := 0 to FromGrid.Controller.SelectedRecordCount-1 do begin
    ToGrid.DataSource.DataSet.Append;
    for f := 0 to ToGrid.DataSource.DataSet.FieldCount-1 do begin
      ToGrid.DataSource.DataSet.Fields[f].Value :=
        FromGrid.Controller.SelectedRecords[i].Values[FromGrid.GetColumnByFieldName(ToGrid.DataSource.DataSet.fields[f].name).index];
    end;
    ToGrid.DataSource.DataSet.post;
  end;
 
Код2
        for i:=0 to FromGrid.DataController.GetSelectedCount-1 do
        begin
          ARowIndex := FromGrid.DataController.GetSelectedRowIndex(i);
          ARowInfo := FromGrid.DataController.GetRowInfo(ARowIndex);
          id := FromGrid.DataController.GetRecordId(ARowInfo.RecordIndex);
          if FromGrid.DataController.DataSet.Locate('ID',id,[]) then begin
            ToGrid.DataSource.DataSet.Append;
            for f := 0 to ToGrid.DataSource.DataSet.FieldCount-1 do
              ToGrid.DataSource.DataSet.Fields[f].Value :=
                FromGrid.DataController.DataSet.FieldByName(ToGrid.DataSource.DataSet.Fields[f].name).AsVariant;
            ToGrid.DataSource.DataSet.post;
          end;
        end;//for i:=0 to FromGrid.DataController.GetSelectedCount-1 do
 
 
Добавлено:
vavavol, в этой строке вываливается исключение
 
id := FromGrid.DataController.GetRecordId(ARowInfo.RecordIndex);
 
что невозможно конвертировать Variant(null) into Integer
 
Добавлено:
Var
 id : Variant;
 id := FromGrid.DataController.GetRecordId(ARowInfo.RecordIndex);
во время выполнения дебагер показывает
 id = null

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 11:47 25-09-2006 | Исправлено: X11, 12:37 25-09-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
 
Вообще-то это нормальное явленте, NULL к Int не преобразуется. Возможно не задано свойство KeyFieldNames.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 13:07 25-09-2006
Alex47



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

Цитата:
Подскажите всё-таки же!! Скачал с http://www.freedevexpressaddons.com/ русский .ini для грида. А дельше что с ним делать?

Для начала надо прочитать, что на той странице написано.
К русскому ini требуется инсталлировать компонент CXINTL 5.0.0.
Процесс описан в Readme.txt
В поставке, похоже, есть примеры.
Возможно, для использования придется писать что-то типа:
cxIntl.LoadFromFile(Extractfilepath(Application.ExeName) + 'LanRussian.Ini')  
 

Всего записей: 366 | Зарегистр. 20-03-2003 | Отправлено: 13:22 25-09-2006 | Исправлено: Alex47, 13:30 25-09-2006
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jicoff, нет, не заполнено, и не собираюсь, попробую использовать GetValue

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 13:46 25-09-2006
vavavol



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alex47
Спасибо, действительно невнимательно прочитал . Всё в порядке
 
Добавлено:
X11
Почему не хочешь в KeyFieldNames поставить ID? Нет необходимого поля?

Всего записей: 181 | Зарегистр. 25-01-2006 | Отправлено: 13:49 25-09-2006
X11



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


Код:
        DataSet := ToGrid.DataSource.DataSet;
        for i:=0 to FromGrid.DataController.GetSelectedCount-1 do
        begin
          ARowIndex := FromGrid.DataController.GetSelectedRowIndex(i);
          ARowInfo := FromGrid.DataController.GetRowInfo(ARowIndex);
          id := FromGrid.DataController.GetValue(ARowInfo.RecordIndex,FromGrid.GetColumnByFieldName('ID').Index);
 
          if FromGrid.DataController.DataSet.Locate('ID',id,[]) then begin
            DataSet.Append;
            for f := 0 to DataSet.FieldCount-1 do
тут исключение ->              DataSet.Fields[f].Value := FromGrid.DataController.GetValue(ARowInfo.RecordIndex,FromGrid.GetColumnByFieldName(DataSet.Fields[f].name).Index);
            DataSet.post;
          end;
        end;//for i:=0 to FromGrid.DataController.GetSelectedCount-1 do
 

 
Добавлено:

Цитата:
X11  Почему не хочешь в KeyFieldNames поставить ID? Нет необходимого поля?

ну какая разница? уже дело не в том, смотри код, уже ошибка в другм %(

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 14:14 25-09-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
 
Что-то какой-то сумбур наблюдается. Если ты по исходному DataSet'у делаешь Locate, тогда и данные напрямую присваивай, минуя грид:
 
DataSet.Fields[f].Value := FromGrid.DataController.DataSet.Fields[...]
 
Кстати, ты уверен, что FromGrid.GetColumnByFieldName(DataSet.Fields[f].name) возвращает не NULL?

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 14:27 25-09-2006 | Исправлено: jicoff, 14:29 25-09-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