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

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

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

ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

golkanavt



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

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




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

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 10:31 07-02-2009 | Исправлено: vladman, 14:36 24-10-2009
rokerr

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе время суток. Помогите разобраться с компонентом cxGrid.
 
Имеем 2 левела с 2 таблицами связанными между собой. В одной из таблиц cxGrid1DBTableView2 нужно определить выделенные строки. Параметр Multiselect - True.  
После выделения нескольких строк, в процессе выполнения цикла
 
procedure TForm3.Form2N1Click(Sender: TObject);
var
  I: Integer;
begin
for i := 0 to cxGrid1DBTableView2.Controller.SelectedRowCount-1 do
  begin
  showMessage(intToStr(cxGrid1DBTableView1.DataController.Values[i,1]));
  end;
end;
 
значение параметра cxGrid1DBTableView2.Controller.SelectedRowCount сколько бы строк не было выделено =0. Перепробывал все что можно, разобраться не могу. Буду презнателен любой помощи.

Всего записей: 13 | Зарегистр. 16-12-2009 | Отправлено: 16:51 16-12-2009
victorman2010

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

Цитата:
Удалите сначала все поля, а потом снова выполните LoadFromDataSet.

Поля удалять не нужно, надо или добавить к ним поля из дата сета или удалить определенные.
Может я не правильно поставил вопрос. Суть в том что есть два Грида с чекбоксами, нужно что бы при снятии (добавлении) флажка с первого, во втором убирались (или добавлялись) флажки (или вообще строки) относящиеся к записи из первого грида (связь одик ко многим). В первом гриде флажков может быть много (с одним все получается)Подскажи пож как это сделать. Передаю переменную через дата сет (BDE - Tquery), он завязан с dxMemData. Может есть различные варианты? Заранее благодарен.

Всего записей: 33 | Зарегистр. 16-12-2009 | Отправлено: 16:56 16-12-2009
AvGSoft

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Комрады хелп ми!
Хочу сделать на TcxDBTreeList checkbox'ы для выбора узлов и входимостей. Для tcxTreeList глянул http://tv.devexpress.com/ExpressQuantumTreeList.tags там чекбокс и радио делаются для групп. В TcxDBTreeList тоже есть OptionsView->CheckGroups ставлю true, а как выбрать Check Group Type . Может че не так мыслю. Кто сталкивался? версия девок 47.

Всего записей: 262 | Зарегистр. 03-07-2006 | Отправлено: 16:59 16-12-2009
X11



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

Цитата:
нужно определить выделенные строки.

Цикл по выделенным уже не раз обсуждался. Есть волшебная кнопка Версия для печати, а потом поиск по странице

Код:
Var
 i: integer;
 ARowIndex: Integer;
 ARowInfo:  TcxRowInfo;
...
       with dbgMail.dataController do
        begin
          beginupdate;
          Screen.Cursor := crHourGlass;
          try
            for I := 0 to GetSelectedCount - 1 do
              begin
                ARowIndex := GetSelectedRowIndex(I);
                ARowInfo  := GetRowInfo(ARowIndex);
                if ARowInfo.Level < Groups.GroupingItemCount then
                  Continue
                else
                  begin
                   //unbound or provider mode
                    edit;
                    //редактируем выделенную запись
                    //dbgMailLOCKED - column
                    Values[ARowInfo.RecordIndex, dbgMailLOCKED.Index] := True;
                    post;
                  end;//else
              end;//for
          finally
            endupdate;
            Screen.Cursor := crDefault;
          end;//try
        end;//with
 


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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 17:12 16-12-2009
sldaac



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

Цитата:
начение параметра cxGrid1DBTableView2.Controller.SelectedRowCount сколько бы строк не было выделено =0

а так не пробовал
cxGrid1DBTableView2.DataController.Controller.SelectedRecordCount

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 17:15 16-12-2009 | Исправлено: sldaac, 17:17 16-12-2009
vladman

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

Цитата:
значение параметра cxGrid1DBTableView2.Controller.SelectedRowCount сколько бы строк не было выделено =0

 
Если cxGrid1DBTableView2 это подчиненный View, то вам нужно проверять не в самом View а в его клоне. Подробнее о клонах - *Pattern and Clone Views* ms-help://borland.bds5/ExpressQuantumGrid6.BDS5/ExpressQuantumGrid6/IDH_Fundamentals_PatternCloneViews.htm  
Т.е. <YourGrid>.FocusedView.DataController.GetSelectedCount
 
Добавлено:
victorman2010

Цитата:
Поля удалять не нужно, надо или добавить к ним поля из дата сета или удалить определенные.  


Цитата:
нужно что бы при снятии (добавлении) флажка с первого, во втором убирались (или добавлялись) флажки (или вообще строки) относящиеся к записи из первого грида

Так вам нужно чтобы ПОЛЯ убирались/добавлялись или СТРОКИ (ЗАПИСИ)?
 
Добавлено:
AvGSoft

Цитата:
В TcxDBTreeList тоже есть OptionsView->CheckGroups ставлю true, а как выбрать Check Group Type

Note that check boxes (radio buttons) can only be used in an unbound control.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 17:41 16-12-2009
sam291074



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, как:
1. есть в VGride два поля MaskEdit
2. нужно, чтобы при изменении числового значения одного изменилось значение другого (пересчет по формуле)
3. Проблема - сразу не изменяется . Допустим, сменил 1 на 2, отображает 2, а пересчитывает с 1. Изменил дальше - работает с 2. Отставание на шаг.
Что делаю не так?

Всего записей: 113 | Зарегистр. 22-03-2006 | Отправлено: 19:17 16-12-2009
vladman

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

Цитата:
Что делаю не так?

Все зависит от того, как вы пересчитываете вычисляемое значение.
Скорее всего, вы используете свойство EditValue. Попробуйте использовать EditingValue.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 20:04 16-12-2009
sam291074



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Простите, а где это?
Я использую VGridRow1->Properties->Value

Всего записей: 113 | Зарегистр. 22-03-2006 | Отправлено: 20:11 16-12-2009
vladman

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

Цитата:
В TcxDBTreeList тоже есть OptionsView->CheckGroups ставлю true, а как выбрать Check Group Type  

Note that check boxes (radio buttons) can only be used in an unbound control.
Поразмыслив немного, нашел способ прикрутить CheckGroups к TcxDBTreeList
После загрузки дерева в <YourDBTreeList> выполните:

Код:
var
  vNode:  TcxTreeListNode;
begin
  vNode := <YourDBTreeList>.Root;
  while vNode <> nil do
    begin
      vNode.CheckGroupType := ncgCheckGroup;
      if (vNode.Level > -1) and (vNode.Index mod 2 = 0) then
        vNode.CheckState := cbsChecked
      else vNode.CheckState := cbsUnchecked;
      vNode := vNode.GetNext;
    end;
end;

 
Добавлено:
sam291074

Цитата:
Простите, а где это?  

А в каком обработчике вы пересчитываете вычисляемое значение?

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 20:13 16-12-2009
sam291074



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По выходу из поля OnEditValueChanged.
Пробовал и другие события, например OnChange, и тот же результат

Всего записей: 113 | Зарегистр. 22-03-2006 | Отправлено: 20:19 16-12-2009
vladman

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

Цитата:
По выходу из поля OnEditValueChanged.

Пропишите в этом обработчике, например  
Self.Caption := VarToStr(TcxCustomEdit(Sender).EditValue);

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 20:34 16-12-2009
sam291074



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Спасибо, ваш совет помог.
 
А может подскажете, где справочку по девкам взять более полную (если таковая существует), чем та, которую нам пакует feandy. А то ведь такое лихое приведение типов, сам бы не додумался ни в жисть. А в справке забиваю TcxCustomEdit - а там тишина.

Всего записей: 113 | Зарегистр. 22-03-2006 | Отправлено: 20:51 16-12-2009 | Исправлено: sam291074, 21:03 16-12-2009
X11



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

Цитата:
А может подскажете, где справочку по девкам взять более полную (если таковая существует),

На офсайте справка в свободном доступе, даже есть видеоруководства. Думаю, что feandy оттуда же и берёт. Куда уж поленее.

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 22:05 16-12-2009
vladman

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

Цитата:
А в справке забиваю TcxCustomEdit - а там тишина.

Если вы пользуетесь инстоллером справки от feandy, то, если я не ошибаюсь, для версии среды 2007 вкралась небольшая ошибка. По какой-то причине не всегда регистрируется справка для ExpressEditors Library.
Это легко поправить. Сделайте командный файл (*.bat/*cmd) со следующим содержимым:

Код:
"c:\Program Files\CodeGear\RAD Studio\5.0\Help\Doc\H2Reg.exe" -r cmdfile="c:\Program Files\Developer Express Inc\ExpressEditors Library 5\HTMLHelp\ExpressEditors.d11.ini"

Если требуется, подправьте пути на свои, и выполните. Должно помочь с проблемой.

Цитата:
А то ведь такое лихое приведение типов

Такое приведение типов привел для общего случая. В вашем случае (с MaskEdit), вполне можно было обойтись более, наверное, понятным:
TcxMaskEdit(Sender).EditValue

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 23:45 16-12-2009
AvGSoft

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Преложенный метод не пошел, отображается только чекбокс без текста

Всего записей: 262 | Зарегистр. 03-07-2006 | Отправлено: 14:40 17-12-2009
vladman

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

Цитата:
Преложенный метод не пошел, отображается только чекбокс без текста

А в <YourDBTreeList> есть хотя бы одна TcxDBTreeListColumn? Давайте пример, посмотрю.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 15:27 17-12-2009
BECHA1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день всем!
 
На форме есть объект dxDBTreeList, в который должны загружаться данные из той или иной таблицы базы данных, причём у каждой таблицы своё количество колонок. В дизайнере они (колонки) легко добавляются/удаляются, а вот как это сделать из самой программы? В свойствах объекта ничего похожего на Columns.Add/Delete/Clear/Remove и т.д. нету.

Всего записей: 1 | Зарегистр. 17-12-2009 | Отправлено: 15:29 17-12-2009
AvGSoft

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Сорри мой косяк слетела связь колонки с полем. Все пучком Сенкс.

Всего записей: 262 | Зарегистр. 03-07-2006 | Отправлено: 15:30 17-12-2009 | Исправлено: AvGSoft, 15:30 17-12-2009
maratea

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
Мне нужно экспортировать результаты выборки, выведенные в cxGrid, в Excel. Знаю, что существует ExportGridToExcel, но он специфически отображает данные (как на форме выглядит, так и в таблице получается), а мне нужно получить обычную excel'овскую таблицу, поэтому приходится писать руками. (или есть еще варианты?)
 
В чем, собственно, проблема.
Данные у меня сгруппированы, вот так:
 
 
В excel мне нужно вывести только 2 белые строчки. А я не могу! Постоянно получается то так:
4270  3  298
4270  3  298,
то вообще бред какой-нибудь вперемешку. Наверное, есть какое-то свойство у грида, которое я никак найти не могу. Подскажите, пожалуйста!
 
Сейчас написано так:

Цитата:
 
 for i := 1 to cxGrid1DBTableView4.DataController.RecordCount
 do
   for j := 1 to cxGrid1DBTableView4.ColumnCount - cxGrid1DBTableView4.GroupedColumnCount do
   begin
    S := cxGrid1DBTableView4.ViewData.Records[i - 1].Values[j - 1]; //**
    Excel.ActiveWorkBook.WorkSheets[1].Cells[i, j] := S;
   end;
end;
 

 
**в этой строке вместо j-1 хоть че ставлю, и все равно получается
4270  3  298
4270  3  298.
 
Я чувствую, что Values - это не то, а истина где-то рядом...
Спасибо!

Всего записей: 14 | Зарегистр. 17-12-2009 | Отправлено: 15:40 17-12-2009 | Исправлено: maratea, 17:39 17-12-2009
   

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 3)
ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru