Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Вниз

TDBGrid   Найти похожие ветки 

 
Qwerr   (2003-10-10 10:44) [0]

Подскажите как организовать поиск по калонке в таблице объекта DBGrid ?


 
Семен Сорокин   (2003-10-10 10:46) [1]

ищи в TDataSet"е связанным с твоим DBGrid


 
Qwerr   (2003-10-10 10:53) [2]

А через DBEdit1 возможно?
Покажите пожалуйста примерчик!


 
Семен Сорокин   (2003-10-10 10:55) [3]

Покажите пожалуйста примерчик!
...\Delphi7\Demos\Db


 
Qwerr   (2003-10-10 11:07) [4]

И в какой там папке?


 
Anatoly Podgoretsky   (2003-10-10 11:41) [5]

DBEdit1 можно, но чего там искать, всего одно значение


 
Verg   (2003-10-10 11:58) [6]

Можно пофантазировать немного :))

Ну,например, можно взять сделать такую формочку (динамически создаваемую):

object LocateDG: TLocateDG
Left = 242
Top = 142
ActiveControl = KeyEdit
BorderIcons = []
BorderStyle = bsNone
ClientHeight = 23
ClientWidth = 143
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = "MS Sans Serif"
Font.Style = []
KeyPreview = True
OldCreateOrder = False
OnActivate = FormShow
OnKeyPress = FormKeyPress
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object KeyEdit: TEdit
Left = 0
Top = 0
Width = 121
Height = 21
TabOrder = 0
end
object Button1: TButton
Left = 120
Top = 0
Width = 21
Height = 21
Caption = "..."
Default = True
ModalResult = 1
TabOrder = 1
end
end


К ней модуль:
unit LGrid;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TLocateDG = class(TForm)
KeyEdit: TEdit;
Button1: TButton;
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Pos : TPoint;
Par : TWinControl;
end;

var
LocateDG: TLocateDG;
procedure GridLocate(Sender: TObject; var Key: Char);

implementation
uses DB, DBGrids, ConfYesNo;
{$R *.DFM}

procedure TLocateDG.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#$1b then ModalResult:=mrCancel;
end;

procedure TLocateDG.FormShow(Sender: TObject);
begin
Top:=Pos.Y;
Left:=Pos.X;
KeyEdit.SelStart:=length(KeyEdit.Text)+1;
KeyEdit.SelLength:=0;
end;

procedure GridLocate(Sender: TObject; var Key: Char);
var P : TPoint;
begin
if (Sender is TDBGrid) and (Key in ["0".."9"]) then
if
((Sender as TDBGrid).Columns[0].Field.DataType in [ftInteger, ftString, ftDate, ftDateTime,ftAutoInc]) then
with TLocateDG.Create(Application) do
begin
ActiveControl:=KeyEdit;
KeyEdit.Text:=Key;
Pos:=Point((Sender as TDBGrid).Left,(Sender as TDBGrid).Top);
Pos:=(Sender as TDBGrid).Parent.ClientToScreen(Pos);
if ShowModal=mrOk then
with (Sender as TDBGrid).DataSource.DataSet do
begin
if (Sender as TDBGrid).Columns[0].Field.DataType in [ftInteger,ftAutoInc] then
begin
if not Locate((Sender as TDBGrid).Columns[0].FieldName, StrToIntDef(KeyEdit.Text, -1), []) then
ErrorBox("Не найдено");
end else
if not Locate((Sender as TDBGrid).Columns[0].FieldName, KeyEdit.Text, [loCaseInsensitive, loPartialKey]) then
ErrorBox("Не найдено");
end;
end;
end;

end.


У нужной гриде в OnKeyPress:

procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
GridLocate(Sender, Key);
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.015 c
1-74136
KDel
2003-10-10 22:36
2003.10.23
Редактирование ресурсов в exe


14-74444
Шишкин Илья
2003-10-04 08:31
2003.10.23
Ворота в супермаркетах


7-74483
naestro
2003-08-12 11:23
2003.10.23
работа с устройством через COM порт


7-74510
suric
2003-08-06 14:26
2003.10.23
Программирование USB под Win32


1-74223
P0tia
2003-10-11 23:29
2003.10.23
Проблема с модулем





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский