Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Знак сортировки (стрелка/треугол.) в title DBGrid, Как разместить картинку в заголовке Grid 
V
    Опции темы
chikistbuch
  Дата 7.4.2012, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.3.2008

Репутация: 1
Всего: 1



Подскажите, как добавить стрелочку в заголовок колонки DBGrid'a, которая бы указывала о сортировке, как здесь:

user posted image

Вот как это сделано в EhLib'e:

user posted image

Неужели никто не знает как это сделать????  smile 

Это сообщение отредактировал(а) chikistbuch - 9.4.2012, 19:07
PM MAIL   Вверх
TANGOR
Дата 14.4.2012, 06:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 21.3.2005

Репутация: нет
Всего: нет



Ну во первых этот грид на картинке не обычный DBGrid а DefExpress-совский
там всё это есть.
а если нужна сортировка по клику на заголовок, то:

//Если DBGrid к Query присоединен то так:
procedure TForm1.FormCreate(Sender: TObject);
Var path:string;
begin
  GetDir(0,path);
  ADOConnection1.Close;
  ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+path+'\DB.mdb;Persist Security Info=False';
  ADOConnection1.Connected:=true;
  QSQL:='SELECT * from main ';
  With ADOQuery2 do begin
    Close;
    SQL.Clear;
    SQL.Add(QSQL);
    Open;
  end;
  ADOTable1.Open;
end;
 
//В событии DBGrid OnTitleClick прописываем.

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
Var f:string;
begin
  f:= Column.FieldName;//без этой переменной у меня работать не хочет
  with ADOQuery2 do
  begin
     Close;
     SQL.Clear;
     SQL.Add(QSQL);
     SQL.Add('ORDER BY '+f);
     Open;
  end;
end;
 
 
//Если Table к DBGrid подключен то в OnTitleClick пишем.

procedure TForm1.DBGrid2TitleClick(Column: TColumn);
Var f:string;
begin
    f:= Column.FieldName;
    ADOTable1.Sort:=f;
end;
 
PM MAIL   Вверх
chikistbuch
Дата 14.4.2012, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.3.2008

Репутация: 1
Всего: 1



Цитата(TANGOR @  14.4.2012,  06:15 Найти цитируемый пост)
Ну во первых этот грид на картинке не обычный DBGrid а DefExpress-совскийтам всё это есть.



а где его взять и бесплатен ли он?
PM MAIL   Вверх
Akella
Дата 14.4.2012, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



devexporess.com
такие гриды бесплатными не бывают
PM MAIL   Вверх
chikistbuch
Дата 14.4.2012, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.3.2008

Репутация: 1
Всего: 1



Так что, в стандартный DBGrid эту стрелку вставить нельзя???? Подскажите хоть как узнать ширину колонки, координату начала колонки, хоть что-то к чему можно было бы привязаться
PM MAIL   Вверх
superVad
Дата 14.4.2012, 16:27 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



Цитата(chikistbuch @  14.4.2012,  13:01 Найти цитируемый пост)
Так что, в стандартный DBGrid эту стрелку вставить нельзя???? Подскажите хоть как узнать ширину колонки, координату начала колонки, хоть что-то к чему можно было бы привязаться

Как стандартный - не знаю. Можно jvcl грид юзать (ultim хороший), старый бесплатный EH (3.6 кажется).
PM MAIL   Вверх
Akella
Дата 14.4.2012, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(chikistbuch @  14.4.2012,  14:01 Найти цитируемый пост)
Так что, в стандартный DBGrid эту стрелку вставить нельзя????


Кто сказал, что нельзя? Ты плохо ищешь. Я уверен, что в интернете должны быть готовые примеры.

Добавлено через 1 минуту и 2 секунды
Цитата(chikistbuch @  14.4.2012,  14:01 Найти цитируемый пост)
Подскажите хоть как узнать ширину колонки, 


А что, свойства, методы и события грида и колонок самому изучить нельзя, справку почитать?
PM MAIL   Вверх
chikistbuch
Дата 15.4.2012, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.3.2008

Репутация: 1
Всего: 1



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

Код

Delphi
type TColumnValue = (cvColor, cvWidth, cvFont, cvAlignment, cvReadOnly, cvTitleColor, cvTitleCaption, cvTitleAlignment, cvTitleFont, cvImeMode, cvImeName)



Value    Indicates changes to 

cvColor    
The column's Color property. 

cvWidth    
The column's Width property. 

cvFont    
The column's Font property. 

cvAlignment    
The column's Alignment property. 

cvReadOnly    
The column's ReadOnly property. 

cvTitleColor    
The column title's Color property. 

cvTitleCaption    
The column title's Caption property. 

cvTitleAlignment    
The column title's Alignment property. 

cvTitleFont    
The column title's Font property. 

cvImeMode    
The column's ImeMode property. 

cvImeName    
The column's ImeName property.
PM MAIL   Вверх
Akella
Дата 16.4.2012, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



к ним не надо обращаться. Это константы. Значения констант присваиваются свойствам, например, или переменным.
PM MAIL   Вверх
chikistbuch
Дата 16.4.2012, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.3.2008

Репутация: 1
Всего: 1



Цитата(Akella @  16.4.2012,  11:12 Найти цитируемый пост)
Значения констант присваиваются свойствам, например, или переменным

Так как присвоить переменной значение константы

Код

a:= что?

Хотя мне это и не поможет в данной ситуации, но на будущее помогло бы разобраться, Спасибо.

Это сообщение отредактировал(а) chikistbuch - 16.4.2012, 19:36
PM MAIL   Вверх
Akella
Дата 16.4.2012, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(chikistbuch @  16.4.2012,  18:13 Найти цитируемый пост)
Так как присвоить переменной значение константы


Код
a := b;


это же азЫ О_о
как же ты без них собрался программировать
PM MAIL   Вверх
chikistbuch
Дата 16.4.2012, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.3.2008

Репутация: 1
Всего: 1



как

Код

var
 i: integer;
begin
     i:=cvWidth;  //так что ли??
end;



до этого cvWidth нужно же как-то добраться

мы же не пишем

Код

   caption:='123';
// мы пишем
form1.caption:='123';

Так вот вопрос, что нужно написать чтобы добраться, к примеру, к cvWidth

Кстати, спасибо что так быстро отреагировал!!


Это сообщение отредактировал(а) chikistbuch - 16.4.2012, 19:56
PM MAIL   Вверх
Akella
Дата 16.4.2012, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(chikistbuch @  16.4.2012,  19:55 Найти цитируемый пост)
Так вот вопрос, что нужно написать чтобы добраться, к примеру, к cvWidth


Цитата(Akella @  16.4.2012,  11:12 Найти цитируемый пост)
к ним не надо обращаться. Это константы. Значения констант присваиваются свойствам, например, или переменным. 


PM MAIL   Вверх
chikistbuch
Дата 16.4.2012, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.3.2008

Репутация: 1
Всего: 1



ничего не понял, нет чтобы нормально объяснить! ну да ладно, буду сам пытаться (((((((((( smile 
PM MAIL   Вверх
Akella
Дата 16.4.2012, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Значение cvWidth нужно чему-то присвоить.

Добавлено через 1 минуту и 52 секунды
может быть так?

ColumnValue := [здесь перечисляй нужные константы];

например:
Код
ColumnValue := [cvColor, cvTitleColor, ....];



Цитата(chikistbuch @  15.4.2012,  17:16 Найти цитируемый пост)
Value    Indicates changes to 

cvColor    
The column's Color property. 

cvWidth    
The column's Width property. 

cvFont    
The column's Font property. 

cvAlignment    
The column's Alignment property. 

cvReadOnly    
The column's ReadOnly property. 

cvTitleColor    
The column title's Color property. 

cvTitleCaption    
The column title's Caption property. 

cvTitleAlignment    
The column title's Alignment property. 

cvTitleFont    
The column title's Font property. 

cvImeMode    
The column's ImeMode property. 

cvImeName    
The column's ImeName property. 


Добавлено через 2 минуты и 18 секунд
Тебе что, сложно в диспетчер свойств посмотреть?

Добавлено через 3 минуты и 57 секунд
ну и можно проверять
Код
if cvColor in ColumnValue then ..

почитай про множества и перечислимые типы
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1811 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.