الانتقال إلى الحقل التالي في dbgrid
#1
السلام عليكم
عند إدخال قيمة في خلية من عنصر dbgrid أود الانتقال إلى الخلية التالية في الحقل التالي عند ضغط مفتاح enter وليس مفتاح Tab
كيفية تحديد سطر (سجل) من عنصر dbgrid عند الضغط بالماوس على طرف السطر ومن ثم إجراء عملية نسخ عليه ثم إجراء عملية لصق على السجل الجديد
ولكم الشكر
الرد
#2
[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]
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#3
السلام عليكم
أشكرك على الرد على الشق الأول
وإذا كان بالإمكان الشق الثاني وهو:
كيفية تحديد سطر (سجل) من عنصر dbgrid عند الضغط بالماوس على طرف السطر ومن ثم إجراء عملية نسخ عليه ثم إجراء عملية لصق على السجل الجديد
الرد
#4
[INDENT]
هاوي دلفي كتب :وإذا كان بالإمكان الشق الثاني
وعليكم السلام ورحمة الله وبركاته،
لم أفهم السؤال جيدا لكن سأحوال :

أنظر خاصية SelectedField الخاصة ب DbGrid
مثال :
كود :
if DBgrid1.SelectedField.DisplayName = 'MyName' then
أو للانتقال إلى خانة معينة ، أنظر إلى الخاصية SelectedIndex
مثال
كود :
DBgrid1.SelectedIndex := 0;
للنتقال إلى أول خانة من السطر
ممكن توضح أكثر؟
وفقك الله لكل خير.
[/INDENT]
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#5
وعليكم السلام ورحمة الله وبركاته
منقول:
كود :
//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;
بالتوفيق.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد
#6
السلام عليكم
توضيح: لو اعتبرنا اتجاه dbgrid من اليمين إلى اليسار عند الضغط بواسطة الماوس على الطرف الأيمن لسطر أن يتم تحديده كي أقوم بإجراء عملية نسخ له ومن ثم الانتقال إلى بداية سطر جديد لأقوم بعملية لصق
سوال إضافي إذا ممكن على DBGRID
عند ضغط السهم الأسفل والمؤشر على السطر الأخير يتم فتح سطر جديد فارغ وعند ضغط السهم الأعلى يتم حذف هذا السطر والسؤال كيف يمكن إضافة بعض القيم لحقل عند ضغط السهم الأسفل
ولكم جزيل الشكر
الرد


التنقل السريع :


مستخدمين يتصفحوا هذا الموضوع: 1 ضيف