View Full Version : سوال: تست شرط خاصی در dbgrid
arefih
دوشنبه 08 شهریور 1389, 18:13 عصر
با سلام خدمت تمامی دوستان . آیا می توان تا برقراری شرط خاصی در یکی از خانه های dbgrid از خروج به هر صورتی از آن خانه جلوگیری کرد ؟
pezhvakco
دوشنبه 08 شهریور 1389, 18:48 عصر
از خروج به هر صورتی از آن خانه جلوگیری کرد ؟
میتونی شماره ستون و سطر رو داشته باشی و با فشرده شدن هر کلید مقادیر جدید رو با مقادیر قدیمی مقایسه کنی .
در dbgrid رویداد OnColExit داره که فقط برای تغییر ستون است که از این روبداد هم میتونی برای کارت استفاده کنی .
با استفاده از شماره سطر (RecNo) مربوط به جدول اصلی (ADODataSet و یا ADOTable ) هم میتونی برای کنترل تغییر ردیف استفاده کنی .
روش زیاده ...
arefih
سه شنبه 09 شهریور 1389, 13:23 عصر
باتشکر ازجنابعالی من براساس فرمایش شما عمل کردم و با استفاده از رویداد OnColExit شرط مورد نظر را هنگام خروج از ستون با کلید Enter چک میکنم ولی اگر کاربر با موس ردیف را تغییر بده امکان تست شرط را ندارم اگه لطف کنید یه مقدار بیشتر توضیح بدین ممنون.
Delphi7_love
سه شنبه 09 شهریور 1389, 20:42 عصر
میتونید همین کارو برای رویداد OnCellClick هم انجام دهید
arefih
چهارشنبه 10 شهریور 1389, 08:00 صبح
میتونید همین کارو برای رویداد OnCellClick هم انجام دهید
درسته ولی مشکل من اینه که نمی تونم تست کنم آیا ردیف هم تغییر کرده یا نه ؟
pezhvakco
چهارشنبه 10 شهریور 1389, 09:51 صبح
اگه می خوای از رویداد OnCellClick استفاده کنی، می تونی با هر بار فراخوانی این رویداد شمار ه ردیف (همون RecNo ) رو از جدول اطلاعات بگیری و با یک متغییر سراسری که شماره ردیف قیلی رو داره مقایسه کنی .
arefih
چهارشنبه 10 شهریور 1389, 10:05 صبح
اگه می خوای از رویداد OnCellClick استفاده کنی، می تونی با هر بار فراخوانی این رویداد شمار ه ردیف (همون RecNo ) رو از جدول اطلاعات بگیری و با یک متغییر سراسری که شماره ردیف قیلی رو داره مقایسه کنی .
من با یک متغییر اینکار را انجام دادم حالا چگونه میتونم در صورتیکه کاربر در حالت edit ,و یا insert با mouse در یک ردیف غیر از ردیف جاری کلیک کرد دومرتبه فوکس را به همان سل واقع در ردیف قبلی dbgrid برگردانم منظور اینه با چه دستوری ؟
pezhvakco
چهارشنبه 10 شهریور 1389, 10:45 صبح
اگه منظورت از فوکوس ، انتقال مکان نمای ردیف جدول متناسب با شماره ردیف است با دستور زیر می تونی این کار رو انجام بدی .
Table1.RecNo:=1;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.