![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBGridEh - PickList [D7, MSSQL]
orbal © (2005-12-11 02:54:00)Все здравствуйте!
Возникла такая необходимость: отобразить в Компоненте DBGridEh из библиотеки EhLib в свойстве PickList все значения какой нить колонки из таблицы базы данных, хранящейся на MSSQL серваке, т.е. начало в коде будет такое:
Form1.DBGridEh1.Columns[0].PickList =... а что дальше, помогите разобраться.
Slym (2005-12-12 05:28:00) [1]В Eh есть лучще - MRU... Пример:
procedure FillList(Items: TStrings; const ATableName, FieldName: string;Limit:integer=100);
const SQL='SELECT TOP %2:d [%0:s], Count([%0:s]) AS [Counter] FROM [%1:s] GROUP BY [%0:s] ORDER BY Count([%0:s]) DESC;';
var
Query:TADOQuery;
Str:string;
begin
Items.BeginUpdate;
try
Items.Clear;
Query:=TADOQuery.Create(nil);
try
Query.Connection:=DM.Connection;
Query.LockType:=ltReadOnly;
Query.CursorType:=ctOpenForwardOnly;
Query.SQL.Text:=Format(SQL,[FieldName,ATableName,Limit]);
Query.Open;
while not Query.Eof do
begin
Items.Add(Query.Fields[0].Text);
Query.Next;
end;
finally
Query.Free;
end;
finally
Items.EndUpdate;
end;
end;
procedure FillMRUList(MRUList:TMRUListEh; const ATableName, FieldName: string);
begin
with MRUList do
begin
FillList(MRUList.Items,ATableName,FieldName,Limit);
Rows:=10;
Active:=true;
end;
end;
procedure TEditor.GridEnter(Sender: TObject);
begin
FillMRUList(DocGrid.Columns[3].MRUList,'Doc','IssuerOrg');
end;
orbal (2005-12-11 21:11:00) [2]всем спасибо! буду пробовать!
sniknik (2005-12-11 17:22:00) [3]atruhin © (11.12.05 16:37) [4]
можно и так. но в вопросе требеется помочь разобратся с заполнением списка.
atruhin (2005-12-11 16:37:00) [4]>>sniknik © (11.12.05 13:56) [3]
Вроде как здесь лукап поле, создаем и все.
sniknik (2005-12-11 13:56:00) [5]могут, но обычно не хотят. это как прийти в математический класс и просить "покажите как складывается 2+2?" (а оно не складывается, оно для них уже давно константа ;о)))
смотри, свойство ты нашел - PickList. F1 на нем нажать можеш? прямо в компаненте созданном в режиме разработки? можеш. тамже и видиш тип свойства (TStrings. если EhLib его не поменяли. но это врядли). в открывшейся справке жмеш на этот тип и получаеш свойства и методы как с ним работать. эмпирическим путем (немного надо знать английский) находиш в методах как добавляются(add), жмеш. получаеш описание а также пример (сверху "Delphi example"). смотриш, делаеш.
описание в принципе общее, можно использовать для любого незнакомого свойства/метода/термина (только термины в компонентах не прописаны, но достаточно переписать название в дельфи редактор поставить на него курсор и нажать Ctrl+F1 вместо F1 сначала)
все. в принципе освоив эти нехитрые навыки ты можеш найти что угодно.
orbal (2005-12-11 12:38:00) [6]дык а знающие люди не могут чтоль показать, я не знаю, поэтому и прошу показать.
Sergey Masloff (2005-12-11 11:24:00) [7]Уже и начало неправильное. Разбирайся ;-)