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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



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

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




 
DLL со скинами из библиотеки dxSkins, автор Ziltoid Подробнее... линк обновлен
Продолжение, Первая часть, вторая часть, третья часть

Полезные утилиты:
DxAutoInstaller v2.1.10 Простой и удобный тул для установки девок из исходников
https://mega.nz/#!aJRQzSqI!N7RgfcG1tfF45Z3OgcmBDHT_ZcWlIgJQ5eHHgQ9VupE

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 04:48 31-12-2009 | Исправлено: G787, 21:12 29-07-2018
Cryogen2003



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vladman
Возможно ли в шедулер и его диаграмме ганта сделать так, что бы можно было создать какое-то задание по какому-то клиенту для одного из сотрудников (делать это может только супервизор). Сам сотрудник мог бы отписать по этому заданию какой-то комментарий или комментарии (но при это не мог сделать ничего с самим заданием). Причем можно было раздавать задания нескольким сотрудникам по одному клиенту.  
Вообщем, можно ли это сделать стандартным способом в шедулере или как это можно обыграть по другому?
 
Надо отобразить в PivotGrid следующие данные:
Сотрудник, Регион, Дата обзвона, Кол-во клиентов, которые обзвонил, Кол-во клиентов, которые захотели участвовать в той или иной программе банка, Процент качества обзвона
 
Группировка самого пивота идет по дате (Column), в Data уходят оба поля с кол-во клиентов и процент качества обзвона, в Row ФИО сотрудника и региона.  
Стало быть затык с процентов качества обзвона клиента. Считается тупо так - кол-во клиентов, которые захотели участвовать в чем-либо / кол-во клиентов, которым звонили * 100.  
Я могу посчитать это все в оракле, проблемы нет, но когда начинаешь в рилтайме переставлять поля, то понятно уже проценты не соответствуют истине в тех же группах Row.  
Стало быть, как сделать так, чтобы все было правильно?

----------
Холодильники мы

Всего записей: 745 | Зарегистр. 08-12-2004 | Отправлено: 22:58 15-06-2010
antaresSCO

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет. Давно мучаюсь проблемой с гридом этой библиотеки cxGrid (dxGrid).
Есть колонка подключенная к полю датасета, которая тянет значения из другого датасета по индексу.
Когда я хочу включить фильтр по данному полю (кликаю на заголовок) - выпадает список "подтянутых" значений в совершенно невразумительной сортировке...
Проблема именно в этой сортировке. Помогибе, плиз.

Всего записей: 3 | Зарегистр. 16-06-2010 | Отправлено: 00:19 16-06-2010
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cryogen2003
Ну смотрите, чтобы это все промоделировать у себя нужно определенное время, которое вы уже наверняка потратили, и, более того, не факт, что мое понимание/воспроизведение вашей ситуации будет в точности соответствовать вашим условиям. Поэтому, мне кажется, что небольшое усилие с вашей стороны для создания примера иллюстрирующего настоящее положение вещей будет более чем полезно. Т.е попробуйте создать простой пример с начальными условиями, опирающийся на, например, мэмтэйбл(ы)/классы, соответствующие вашей структуре данных/объектов. В общем, я так понимаю, мы же за повторное использование кода .
 
Добавлено:
antaresSCO

Цитата:
Проблема именно в этой сортировке. Помогибе, плиз.

Что в вашем понимании невразумительная? Давайте скриншот списка и настройки вашего тэйблвью из дфм файла. Как по мне, список
Цитата:
"подтянутых" значений
уже сортирован.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 02:20 16-06-2010
linker_2009



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
dxSkinController нельзя выбрать в компонентах, он сам все компоненты контролирует.
на главной форме еще нужен cxLookAndFeelController, тоже в еденичном экземпляере.
и еще нюанс, если вы добавили dxSkinController,cxLookAndFeelController на готовую форму, в компонентах возможно нужно вручную выставить LookAndFeel.SkinName (Бывает глючит)

Всего записей: 143 | Зарегистр. 14-09-2009 | Отправлено: 05:40 16-06-2010 | Исправлено: linker_2009, 06:02 16-06-2010
antaresSCO

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Согласен, выразился я некорректно "неопределённо" в моём случае получается по индексному полю второго датасета через которое происходит связывание (полей во второй таблице всего 2 - ID - integer NAME - varchar и в запросе для второго датасета применяю order by NAME), а сортировка в выпадающем списке фильтра всё равно идёт по ID второй таблицы (скриншоты не нашёл куда вставлять на этом форуме, надеюсь объяснил понятно).
Я никогда не ковырялся в *.DFM, но надеюсь выцепил нужное (описание прочих колумнов выбросил - там и так много строк):
object DBGrid1: TcxGrid
      Left = 0
      Top = 0
      Width = 1256
      Height = 289
      Align = alClient
      BevelInner = bvNone
      BevelOuter = bvNone
      BorderStyle = cxcbsNone
      PopupMenu = MPopZakaz1
      TabOrder = 0
      TabStop = False
      OnEnter = DBGrid1Enter
      LookAndFeel.Kind = lfOffice11
      LookAndFeel.NativeStyle = False
      object DBGridDBBandedTableView1: TcxGridDBBandedTableView
        OnDblClick = DBGridDBBandedTableView1DblClick
        OnKeyPress = DBGridDBBandedTableView1KeyPress
        NavigatorButtons.ConfirmDelete = False
        OnFocusedItemChanged = DBGridDBBandedTableView1FocusedItemChanged
        OnFocusedRecordChanged = DBGridDBBandedTableView1FocusedRecordChanged
        DataController.DataSource = DMDoc.DSourceZakaz1
        DataController.Filter.AutoDataSetFilter = True
        DataController.Summary.DefaultGroupSummaryItems = <>
        DataController.Summary.FooterSummaryItems = <
          ...
          end>
        DataController.Summary.SummaryGroups = <>
        Filtering.ColumnMRUItemsList = False
        OptionsBehavior.AlwaysShowEditor = True
        OptionsBehavior.FocusFirstCellOnNewRecord = True
        OptionsBehavior.GoToNextCellOnEnter = True
        OptionsBehavior.FocusCellOnCycle = True
        OptionsData.Deleting = False
        OptionsData.Inserting = False
        OptionsSelection.HideFocusRectOnExit = False
        OptionsView.NoDataToDisplayInfoText = ...
        OptionsView.Footer = True
        OptionsView.GroupByBox = False
        OptionsView.GroupFooterMultiSummaries = True
        OptionsView.GroupFooters = gfAlwaysVisible
        OptionsView.BandHeaders = False
        Styles.OnGetContentStyle = DBGridDBBandedTableView1StylesGetContentStyle
        Bands = <
          item
            Caption = ...
            FixedKind = fkLeft
          end
          item
            Caption = ...
          end
          item
            Caption = ...
          end
          item
            Caption = ...
          end>
...
        object DBGridZakaz1Price: TcxGridDBBandedColumn
          Tag = 5
          Caption = #1055#1088#1072#1081#1089
          DataBinding.FieldName = 'PRICE_NAME'
          HeaderAlignmentHorz = taCenter
          Options.Editing = False
          Options.Focusing = False
          Width = 85
          Position.BandIndex = 1
          Position.ColIndex = 2
          Position.RowIndex = 0
        end
...
 

Всего записей: 3 | Зарегистр. 16-06-2010 | Отправлено: 08:05 16-06-2010
linker_2009



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[b]antaresSCO[/b]
прячте код под тегом more
Если я вас правильно понял, то лучше вам сделать запрос из двух таблиц и связать их значения например так
Пример

Всего записей: 143 | Зарегистр. 14-09-2009 | Отправлено: 08:42 16-06-2010
liron111

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья, у меня проблема вот какого характера:
Создаю TcxDBFilterControlФильтр на основании выделенных полей
 
procedure TParamForm.ForwardButtonClick(Sender: TObject);
var
select : String;
begin
  // проверка грида на отмеченные поля
    cxGrid1DBTableView1.DataController.GotoFirst;
    select := '';
    while not cxGrid1DBTableView1.DataController.IsEOF do
    begin
      if cxGrid1DBTableView1Column1.EditValue=true then
      begin
        DBFilterControl.Items.Add;
        DBFilterControl.Items[DBFilterControl.Items.Count-1].Caption   := ParamFIBDS.FieldByName('DISPLAY_LABEL').AsString;
        DBFilterControl.Items[DBFilterControl.Items.Count-1].FieldName := ParamFIBDS.FieldByName('TABLE_NAME').AsString + '.'+ ParamFIBDS.fieldByName('FIELD_NAME').AsString;
        //Определяем редактор
        if ParamFIBDS.FieldByName('EDITOR').AsString = 'TextEdit' then
        begin
          DBFilterControl.Items[DBFilterControl.Items.Count-1].PropertiesClass := TcxTextEditProperties;
        end
        else if ParamFIBDS.FieldByName('EDITOR').AsString = 'DateEdit' then
        begin
          DBFilterControl.Items[DBFilterControl.Items.Count-1].PropertiesClass := TcxDateEditProperties;
        end
        else if ParamFIBDS.FieldByName('EDITOR').AsString = 'ComboBox' then
        begin
          DBFilterControl.Items[DBFilterControl.Items.Count-1].PropertiesClass := TcxComboBoxProperties;
          // Наполняем ComboBox
          DM.Combo_BoxFIBDS.ParamByName('table').AsString := ParamFIBDS.FieldByName('TABLE_NAME').AsString;
          DM.Combo_BoxFIBDS.ParamByName('field').AsString := ParamFIBDS.FieldByName('FIELD_NAME').AsString;
          DM.Combo_BoxFIBDS.Open;
          DM.Combo_BoxFIBDS.First;
          while not DM.Combo_BoxFIBDS.Eof do
          begin
            TcxComboBoxProperties(DBFilterControl.Items[DBFilterControl.Items.Count-1].Properties).Items.Add(DM.Combo_BoxFIBDS.FieldByName('STORE').AsString);
            DM.Combo_BoxFIBDS.Next;
          end;
          DM.Combo_BoxFIBDS.Close;
        end
        else if ParamFIBDS.FieldByName('EDITOR').AsString = 'CalcEdit' then
        begin
          DBFilterControl.Items[DBFilterControl.Items.Count-1].PropertiesClass := TcxCalcEditProperties;
        end
        else if ParamFIBDS.FieldByName('EDITOR').AsString = 'SpinEdit' then
        begin
          DBFilterControl.Items[DBFilterControl.Items.Count-1].PropertiesClass := TcxSpinEditProperties;
        end;
      end;
    end;
После всего этого, если в фильтре задать для числовых значений, в любом редакторе, запрос "Между 4 и 24", фильтр сформирует запрос типа "Имя таблицы.Название поля beetwen 24 and 4", что соответственно не обрабатывается ни одной БД. Я так понимаю, что фильтр передает значения указанные в поиске как текст??.. как это исправить подскажите?

Всего записей: 4 | Зарегистр. 16-06-2010 | Отправлено: 09:48 16-06-2010
Cryogen2003



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vladman
По поводу шедулера смотрел исключительно все на демках девок, так что в принципе пока там наработок нет. Что мне требуется уже говорил.
 
По поводу ПивотГрида тут немного изменилась ситуация - чуть-чуть изменилось задание, так стала сейчас стала просто выгрузка в excel для работы, но в принципе проблема такая же осталась, так как в новом отчете (в ПивотГриде) идет все примерно такое же.  
 
Итак стало быть есть какой-то датасет с данными из базы.
Часть селекта с данными
 
Код action, где запускается все обработчики:
 
Код, где выгрузки в excel и получение TkbmMemTable не привожу, так как ничего там интересного нет.
 
Класс TRepPivotGrid (написан для некоторой оптимизации кода в программе, так как отчеты часто бывают примерно одни и те же:
 
Код pas для frmRepPivotGrid
 
Код dfm для frmRepPivotGrid
 
Вроде приложил все что только можно.  
Итак, стало быть нужно отобразить еще поле quality_noncontact в ПивотГриде (в части Data) и что при различных группировках в Row quality_noncontact было верным.
Как бы, как я понимаю, в принципе надо все это пересчитывать внутри Пивотгрида и само значение из датасета как бы и не совсем нужно, так как по идее легко все можно расчитать все на клиенте, но я не понял как это сделать в пивотгриде.

----------
Холодильники мы

Всего записей: 745 | Зарегистр. 08-12-2004 | Отправлено: 09:55 16-06-2010
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[b]antaresSCO[/b]
View.DataController.Options.dcoSortByDisplayText := true;

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 10:47 16-06-2010
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
antaresSCO
Скриншоты можно положить на любой ресурс хранения изображений и здесь разместить ссылку.
По поводу вашей проблемы - попробуйте обработать событие <YourColumn>.OnGetFilterValues и в нем вызвать AValueList.SortByDisplayText := True;

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 13:01 16-06-2010 | Исправлено: vladman, 13:28 16-06-2010
X11



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

Цитата:
Или может тебе нужен например EditSyleController?  

Дошло. Это разные свойства и компоненты . Мне не нужен cxEditStyleController, мне нужен dxSkinController.
 
Мне скины нужны.
 
Тогда вопрос. Почему скины не применяются. Это видно по рисунку.

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 13:32 16-06-2010
linker_2009



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[b]X11[/b]
я вам уже писал, что нужен cxLookAndFeelController на главной форме. + у вас на скрине видно что у компонента не выставлено свойство  LookAndFeel.SkinName, выставите вручную(вы кинули компонент dxSkinController уже на форму с компонентами, бывает что не применяется). Есть ещё один глюк, если показывать диалоговую форму до показа главной формы скины не прогружаються, приходиться кодом ещё раз их активировать.

[b][s]Добавлено:[/s][/b]
[b]antaresSCO[/b]
[b]liron111[/b]
Пожалуйста скройте свой код под тегом More, как сделать посмотрите чуть выше в посте [b]Cryogen2003[/b], нажав "Редактировать" в заголовке поста

Всего записей: 143 | Зарегистр. 14-09-2009 | Отправлено: 13:52 16-06-2010
X11



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

Цитата:
LookAndFeel.SkinName, выставите вручную

Эмммм мне для всех компонентов всего приложения так делать? Зачем тогда скинконтроллер?
 

Цитата:
я вам уже писал, что нужен cxLookAndFeelController на главной форме

Я его не использовал раньше и на главной форме приложения у компонентов применяется выбранный пользователем скин ко всем компонентам.
Я говорю о том, что на др. форме не применяется скин к cx<Комопнентам>, хотя сама форма окрашивается.
 

Цитата:
Есть ещё один глюк, если показывать диалоговую форму до показа главной формы скины не прогружаються, приходиться кодом ещё раз их активировать.  

Я создаю и показываю вторую форму уже после.

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 14:45 16-06-2010
linker_2009



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[b]X11[/b]
[q]Эмммм мне для всех компонентов всего приложения так делать? Зачем тогда скинконтроллер?[/q]
Попробуй попреключать скины туду сюда в Desingtime, незнаю что еще посоветовать. Скины у девок глючные это факт.
Кстати посмотри еще опций "главное меню дельфи"->Project->Modify Skin Options
[q]Я его не использовал раньше и на главной форме приложения у компонентов применяется выбранный пользователем скин ко всем компонентам.[/q]
У меня из-за его отсутствия в одних приложениях скины не прогружались, а в других нормально. Я уже по привычке сразу после бара кладу dxSkinController и cxLookAndFeelController.

Всего записей: 143 | Зарегистр. 14-09-2009 | Отправлено: 15:17 16-06-2010
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Нужно убрать галочки в AssignedValue.

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 15:54 16-06-2010
X11



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

Цитата:
X11
Нужно убрать галочки в AssignedValue.

Именно! ,
Спасибо.
Спасибо, всем ответившим.

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 16:43 16-06-2010
Petrenuk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день.
Обращаюсь с проблемой, которая наверняка обсуждалась, но в поиске не нашел, а 43 страницы форума просматривать долго)
 
При работе с обычной таблицей TcxGrid возникает необходимость довольно часто обновлять ее содержимое (некоторые ячейки несколько раз в секунду). При этом, если пользоваться BeginUpdate и EndUpdate, заголовки всех столбцов при каждом обновлении "подрагивают", значит тоже перерисовываются. Опытные программисты, подскажите, как поступить, чтобы обновлялся текст только ячеек (или только одной ячейки), и не перерисовывались заголовки столбцов. Код такой:

Код:
 
procedure TForm3.FormRefresh(Sender: TObject);
var
  i,j: Integer;
  Row: TcxCustomGridRow;
begin
  if Assigned(TranSupplier) and (ColCount > 0) then
    begin
      TableView.BeginUpdate();
 
      LastVisRow := CalculateLastVisRow();
      CalculateVisibleCols(FirstVisCol,LastVisCol);
      for i := FirstVisRow to LastVisRow - 1 do
        begin
          Row := TableView.ViewData.Rows[i];
 
          for j := FirstVisCol to LastVisCol - 1 do
            begin
              Row.Values[j] := TranSupplier.GetCellText1(j,i);
            end;
        end;
      TableView.EndUpdate();
    end;
end;
 

Всего записей: 4 | Зарегистр. 16-06-2010 | Отправлено: 17:47 16-06-2010 | Исправлено: Petrenuk, 17:59 16-06-2010
marser

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Petrenuk
Вместо TableView.BeginUpdate, TableView.EndUpdate попробуйте
TableView.DataController.BeginUpdate, TableView.DataController.EndUpdate

Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 21:52 16-06-2010
antaresSCO

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

Цитата:
AValueList.SortByDisplayText := True;

Видимого результата не дал
Суть проблемы Вы явно уловили ... может ещё идеи есть?
 
Добавлено:
linker_2009
Лет пяток назад у меня проскакивали такие идеи, но ввиду активной юзаимости (редактируемости) основной таблицы у меня возникали проблемы со своевременным обновлением "притянутых" значений. Точно не помню из-за чего, но этот способ я отбросил.
Спасибо за вариант и за подсказку по оформлению на форуме - к сожалению разработчики не потрудились явно указать доступные для использования тэги как это делается на неспартанских форумах - панелькой с пымпочками

Всего записей: 3 | Зарегистр. 16-06-2010 | Отправлено: 23:22 16-06-2010
korstin

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TdxDBTreeView, необходимо найти и сфокусироваться на нужном узле.
Locate - не помогает (и это понятно), DBTreeNodes.GetTreeNode(Ключевое_поле) - возвращает Nil

Всего записей: 65 | Зарегистр. 27-10-2007 | Отправлено: 08:10 17-06-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 4)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru