المشاركات : 22
المواضيع 8
:
: 0
الإنتساب : Sep 2011
السلام عليكم
عند إدخال قيمة في خلية من عنصر dbgrid أود الانتقال إلى الخلية التالية في الحقل التالي عند ضغط مفتاح enter وليس مفتاح Tab
كيفية تحديد سطر (سجل) من عنصر dbgrid عند الضغط بالماوس على طرف السطر ومن ثم إجراء عملية نسخ عليه ثم إجراء عملية لصق على السجل الجديد
ولكم الشكر
المشاركات : 1,252
المواضيع 170
:
: 1,500
الإنتساب : Jul 2009
[INDENT]
وعليكم السلام ورحمة الله وبركاته ،
كود :
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = VK_RETURN then
if DBGrid1.SelectedIndex < DBGrid1.Columns.Count - 1 then
DBGrid1.SelectedIndex := DBGrid1.SelectedIndex + 1;
end;
[/INDENT]
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
المشاركات : 22
المواضيع 8
:
: 0
الإنتساب : Sep 2011
السلام عليكم
أشكرك على الرد على الشق الأول
وإذا كان بالإمكان الشق الثاني وهو:
كيفية تحديد سطر (سجل) من عنصر dbgrid عند الضغط بالماوس على طرف السطر ومن ثم إجراء عملية نسخ عليه ثم إجراء عملية لصق على السجل الجديد
المشاركات : 1,252
المواضيع 170
:
: 1,500
الإنتساب : Jul 2009
[INDENT]
هاوي دلفي كتب :وإذا كان بالإمكان الشق الثاني
وعليكم السلام ورحمة الله وبركاته،
لم أفهم السؤال جيدا لكن سأحوال :
أنظر خاصية SelectedField الخاصة ب DbGrid
مثال :
كود :
if DBgrid1.SelectedField.DisplayName = 'MyName' then
أو للانتقال إلى خانة معينة ، أنظر إلى الخاصية SelectedIndex
مثال
كود :
DBgrid1.SelectedIndex := 0;
للنتقال إلى أول خانة من السطر
ممكن توضح أكثر؟
وفقك الله لكل خير.
[/INDENT]
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
وعليكم السلام ورحمة الله وبركاته
منقول:
كود :
//Oleg Zavgorodnij
procedure TForm1.FormCreate(Sender: TObject);
begin
KeyPreview := True;
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
if not (ActiveControl is TDBGrid) then begin
Key := #0;
Perform(WM_NEXTDLGCTL, 0, 0);
end
else if (ActiveControl is TDBGrid) then
with TDBGrid(ActiveControl) do
if SelectedIndex < (fieldcount -1) then
SelectedIndex := SelectedIndex +1
else
SelectedIndex := 0;
end;
بالتوفيق.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
المشاركات : 22
المواضيع 8
:
: 0
الإنتساب : Sep 2011
السلام عليكم
توضيح: لو اعتبرنا اتجاه dbgrid من اليمين إلى اليسار عند الضغط بواسطة الماوس على الطرف الأيمن لسطر أن يتم تحديده كي أقوم بإجراء عملية نسخ له ومن ثم الانتقال إلى بداية سطر جديد لأقوم بعملية لصق
سوال إضافي إذا ممكن على DBGRID
عند ضغط السهم الأسفل والمؤشر على السطر الأخير يتم فتح سطر جديد فارغ وعند ضغط السهم الأعلى يتم حذف هذا السطر والسؤال كيف يمكن إضافة بعض القيم لحقل عند ضغط السهم الأسفل
ولكم جزيل الشكر