انتخاب یک رکورد خاص در dbgrid

sara_she

Member
سلام
من دو فرم دارم که تو اولی یک سری از رکوردهای بانک رو تو dbgridنشون می دم و در فرم دوم رکورد خاصی رو از dbgrid جستجو می کنم
می خوام رکورد پیدا شده، در فرم اول به عنوان اولین رکورد در لیست رکوردهای dbgridقرار بگیره و select شده باشه تا کاربر اونو از سایر رکورد ها که با جستجو متناسب نبودن در dbgrid تشخیص بده . برای قرار گرفتن این رکورد در ابتدای لیست dbgrid و Selectَ کردنش چیکار باید بکنم؟
 

farhad110

Member
سلام
1- در قسمت publicمتغیری از نوع TBookmark به نام bm تعریف کن
2- پس از جستجو از bm:=Table1.GetBookmark استفاده کن
3- در فرم مورد نظر با استفاده از Table1.gotobookmark(bm) جدول رو به سمت رکورد مورد نظر پیمایش کن
برای select شدن باید در dbgrid خاصیت RowSelect , AlwaysShowSelection رو true کنی.
 

sara_she

Member
من وقتی متغیری از نوع TBookMark تعریف می کنم . نوع TBookMark رو نمی شناسه :

[Error] E2003 Undeclared identifier: 'TBookmark'​
 

farhad110

Member
TBookMark زمانی برای دلفی با معنی هست که DataSource ها و DataSet ها رو روی فرم قرار داده باشین
 

sara_she

Member
من کامپوننت های بانک رو تو datamodule گذاشتم . حالا باید چه طور از boolmarkاستفاده کنم؟
اگه راه حلی نداره . می شه به صورت دیگه ای منو راهنمایی کنید که وقتی کاربر یه رکود خاص از بانک رو تو فرم دوم جستجو میکنه . این رکورد خاص تو dbgrid که تو فرم اول قرار گرفته رنگی (select) بشه
 

farhad110

Member
روی datamodule دابل کلیک کن و در قسمت public متغیری از نوع bookmark رو تعریف کن.
برای select شدن رکورد هم که در پست اول توضیح دادم، منظور شما غیر از اینه؟
 

sara_she

Member
منظورم از select شدن اینه که رکورد مورد نظر توی dbgrid به رنگ دلخواه در بیاد.
 

farhad110

Member
با ترفندی که در پست اول توضیح داده شده، به جای یک فیلد تمام رکورد در حالت انتخاب قرار میگیره. ولی اگر منظور شما اینه که رنگ رکورد انتخاب شده تغییر کنه نمیدونم.
 

جدیدترین ارسال ها

بالا