Главная страница
    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.011 c
1-74185
:)
2003-10-10 12:22
2003.10.23
:)


3-74051
ALFA
2003-10-02 15:37
2003.10.23
ПЕРЕКОДИРОВКА


1-74153
Донской
2003-10-10 14:53
2003.10.23
Вызов процедуры потрисовки графика из другого потока


7-74485
opoloXAI
2003-08-10 13:27
2003.10.23
Как разложить байт по-битно?


3-73984
Максим
2003-10-01 09:27
2003.10.23
DBGridEh





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский