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

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

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

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

   

ShIvADeSt



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

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




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

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:16 29-01-2007 | Исправлено: VitaliM, 15:47 24-11-2008
idmail

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SerjP75, мы говорим про .NET. Для него это и есть нормальный генератор отчетов.
 
Добавлено:
Можно ли у этого грида в preview текст вывести нужные мне данные?
Мне необходимо кое-какие расчеты проводить и сразу выводить их. Не могу придумать куда..
 
Добавлено:
Про мои данные в превью нашел: http://www.devexpress.com/Help/?document=XtraGrid/CustomDocument703.htm&levelup=true
Но теперь сам превью не показывает, хотя ShowPreview стоит в тру. Чудеса...
 
Добавлено:
Оказывается, при сохранении лейаута грида без превью при загрузке он гео не покажет, даже если тот включен - баг, фичей назвать сложно.

Всего записей: 32 | Зарегистр. 14-12-2006 | Отправлено: 08:12 25-06-2007
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем.
 
есть событие OnBeforDelete. CxGrid использую, как StringGrid.
как в этом событии узнать значение определённого поля, удапляемой строки?

Код:
 
sgMes - TcxGridTableView
procedure TfmInboundMes.sgMesDataControllerBeforeDelete(ADataController: TcxCustomDataController;
  ARecordIndex: Integer);
begin
    if DeleteFile(sgMes.Columns[3].editvalue) then
      Log('Удалён файл сообщения: '+sgMes.Columns[3].editvalue)
    else
      Log('Не удалось удалить файл сообщения: '+sgMes.Columns[3].editvalue);
end;
 

Так правильно?

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 14:21 25-06-2007
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужно так:
Log('Удалён файл сообщения: '+ADataController.Values[ARecordIndex, 3]);
 
А ещё лучше:
Log('Удалён файл сообщения: '+ADataController.Values[ARecordIndex, myColumn.Index]);
т.к. индекс колонки может поменяться.

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 14:42 25-06-2007
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dronton2, спасибище.
Уважаемые, есть ещё вопрос: нужно удалить все записи из этого же грида, где стоит флажок в определённом поле. Я думаю пробежаться по всем записям, и если флажок "поднят", то выделяем её, а потом DeleteSelection, но что-тоя не так делаю
 

Код:
 
sgMesOpend - колонка типа CheckBox
procedure TfmInboundMes.actDeleteOpendExecute(Sender: TObject);
Var
 i:integer;
begin
  if (MessageBox(Application.ActiveFormHandle, PAnsiChar('Удалить прочитанные сообщение вместе с файлами?'), 'Удаление', MB_ICONQUESTION or MB_YESNO or MB_DEFBUTTON1) = idYes)
  then begin
    for i := 0 to sgMes.DataController.RecordCount-1 do begin
      if sgMes.DataController.Values[i, sgMesOpend.Index] = true then
       sgMes.DataController.SelectRows(i,i);
    end;//for
  end;//if
end;
 

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 16:07 25-06-2007
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Сначала нужно проверить, что sgMes.DataController.MultiSelect := true;
ну, и RecordIndex преобразовать в RowIndex. А для ускорения процесса использовать beginUpdate и endUpdate:

Код:
  with sgMes.DataController do
  begin
    beginUpdate;
    MultiSelect := true;
    ClearSelection();
    for I := 0 to RecordCount - 1 do
        ChangeRowSelection(GetRowIndexByRecordIndex(I, True), True);
    endUpdate;
  end;
 

 
Добавлено:
Забыл добавить проверку перед ChangeRowSelection
if sgMes.DataController.Values[i, sgMesOpend.Index] = true then

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 16:28 25-06-2007
X11



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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 16:41 25-06-2007
idmail

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xtraReport.NET:
1. Как в отчете для определенного поля производить какие-то расчеты? Мне необходимо выполнить сложный SQL запрос и ег орезультат распечатать.
2. Как вывести какой текст на всех страницах, КРОМЕ первой?
3. Необходимо отобразить одну таблицу, которая связана с другой. В дочерней таблицы хранится номер записи из главной таблицы для связи.  
Как мне зная этот номер отобразить нужное поле, нужной записи из главной талицы?

Всего записей: 32 | Зарегистр. 14-12-2006 | Отправлено: 12:13 26-06-2007
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую всех!
Таок код, Передаю в процедуру, как параметр TcxGridBandedTableView. Как узнать значение  определенной колонки в таком случае? Может есть что-то типа GetColumnIndexByName??

Код:
 
Var
procedure TfmAdmSrv.CreatHomeFolders(grid:TcxGridBandedTableView);
Var
 i:integer;
begin
 for I := 0 to grid.DataController.RecordCount - 1 do begin
   if ForceDirectories(grid.DataController.Values[i, grid.DataController. ЧТО СЮДА]) then
 
 
 end;// for I := 0 to grid.DataController.RecordCount - 1 do begin
end;
 

 
Заранее благодарен.

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 15:46 26-06-2007 | Исправлено: X11, 15:48 26-06-2007
Dennica



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
ColumnName.Index впиши =)

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 16:40 26-06-2007
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Это смотря, какие исходные данные есть:
grid.DataController.Values[i, myColumn.Index]
или так:
grid.DataController.Values[i, grid.GetColumnByFieldName('xxx').Index]
или так:
grid.DataController.Values[i, grid.DataController.GetItemByFieldName('xxx').Index]
 
Вообще, для TableView лучше придумать какое-нибудь другое название, кроме как "grid"

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 16:42 26-06-2007
X11



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

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
У грида колонок нет. Колонки есть у TableView.
 
Опять-таки, всё зависит от исходных данных:
если нужно найти колонку по тексту заголовка, то можно написать функцию, перебирающую все колонки и сравнивающую текст заголовка с искомым текстом.
Можно колонкам присвоить какой-нибудь Tag. Далее - аналогично предыдущему способу.
В случае DBTableView процедуры уже написана: GetColumnByFieldName и GetItemByFieldName

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 17:15 26-06-2007
X11



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

Цитата:
grid.DataController.Values[i, grid.GetColumnByFieldName('xxx').Index]  

Вот оно, спасибо
 

Цитата:
У грида колонок нет. Колонки есть у TableView.

В моём  понимании есть грид и датагрид, грид это таблица в принципе, я не имел ввиду конкретно тип TcxGrid, если сбил с толко, то прошу прощения.

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 17:30 26-06-2007
WebInc

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как к GridView прицепить PopupMenu?  Что то никак не могу разобраться
Покавешаю на событие MouseUp, menu.ShowPopup(), но как то странновато это.

Всего записей: 28 | Зарегистр. 14-02-2005 | Отправлено: 05:26 28-06-2007 | Исправлено: WebInc, 05:47 28-06-2007
Dennica



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

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 07:28 28-06-2007
WebInc

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dennica
1. я на C# пишу
2. Это не то мне надо прикрутить когда я на строку во View кликаю а не на заголовок колонки, групповую панель и прочее.

Всего записей: 28 | Зарегистр. 14-02-2005 | Отправлено: 08:06 28-06-2007
Dennica



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

Цитата:
1. я на C# пишу

Думаю врядли разработчики под разные платформы писали все отдельно. Общие принципы должны быть одинаковыми.

Цитата:
2. Это не то мне надо прикрутить когда я на строку во View кликаю а не на заголовок колонки, групповую панель и прочее.

Это то. С помощью этой штуки можно отслежывать щелчек по любому элементу view. Раскрой св-о PopupMenus. Добавь новый элемент cxPopupMenuInfo и загляни в его сво-во HitTypes. Выставь там в true:
gvhtCell - попап будет вылетать по щелчку на ячейке
gvhtRecord - по записи
gvhtPreview - по превью
gvhtExpandButton - по кнопке раскрытия группы
ну и дальше что понравится...
Как сам попап прикрутить, прочитаеш, там пара абзацев в хэлпе всего.

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 09:24 28-06-2007
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WebInc
Есть online-документация.
Про popup-меню говорится здесь

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 11:13 28-06-2007 | Исправлено: Dronton2, 11:14 28-06-2007
raspe



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WebInc
https://www.devexpress.com/Support/Center/ViewKBIssue.aspx?kbid=A1386

Всего записей: 420 | Зарегистр. 22-07-2005 | Отправлено: 11:24 28-06-2007
Dennica



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
raspe
Мда, неужели в C# попап для каждого view нужно прописывать через код? Гемор ..

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 12:02 28-06-2007
   

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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress 2
ShIvADeSt (07-02-2009 14:53): Продолжаем тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10123#1


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru