PDA

View Full Version : مشكل خيلي بزرگ با DBGrid



ali_mohamadi8928
چهارشنبه 20 شهریور 1387, 13:36 عصر
سلام دوستان . من يك مشكل خيلي بزرگ با DBGrid پيدا كردم .

تعداد فيلدهاي من 5 تا هست و اندازه ي DBGrid من جوري هست كه فقط 4 تا از فيلدها رو ميشه ديد و براي ديدن فيلد پنجمي بايد نوار اسكرول افقي رو به سمت چپ كشيد تا فيلد پنجمي نشون داده بشه ... تا اينجا هيچ مشكلي نيست ولي يك مشكل بزگ وجود داره و اونم اينه كه وقتي نوار اسكرو رو ميكشم سمت چپ تا فيلد پنجم رو ببينم وقتي روي ركوردهام كليك ميكنم دوباره اسكرول بر ميگيرده سر جاي اولش .... من نميخوام برگرده سر جاي اولش و ميخوام وقتي كليك كرديم اسكرول همون جا كه هست بمونه .....

براي اينكه منظورم رو بهرت بفهمونم از DBGrid برنامم يك فيلم 30 كيلوبايتي گرفتم ( بسيار كم حجم ) تا دوستان بهتر منظورم رو بفهمن

لطفا كمك كنيد . اين مشكل خيلي ناخوشايند هستش :اشتباه:

sasan_vm
چهارشنبه 20 شهریور 1387, 13:59 عصر
سلام
در خصیصه DBGrid1.Options گزینه dgRowSelect را false کنید.

ali_mohamadi8928
چهارشنبه 20 شهریور 1387, 14:08 عصر
اگه dgRowSelect رو False كنم درست ميشه ولي يك مشكل هست كه فقط همون ركورد كه روش كليك كردم به حالت انتخاب در مياد . من نميخوام اينجور باشه !!! ايا راهي نيست كه dgRowSelect برابر با TRUE باشه و اين مشكل هم نباشه ؟؟؟؟؟؟؟؟

sasan_vm
چهارشنبه 20 شهریور 1387, 14:18 عصر
توضیح dgRowSelect


dgRowSelect
True: The selection bar spans the entire width of the grid.
False: (Default). Selecting a field in a record selects only that field.



در واقع این مشکل نیست وقتی dgRowSelect مقدار true دارد محدوده انتخاب عرض grid است و در هنگام تغییر رکورد همیشه فیلد انتخاب شده نمایش داده میشود که در این حالت فیلد اول است.

Amir_Safideh
پنج شنبه 21 شهریور 1387, 10:03 صبح
شما برای اینکار فقط خاصیت dgMultiSelect رو برابر True قرار بدید و بقیه تنظیمات رو مثل dgRowSelect برابر با همون مقدار پیش فرض خودش قرار بدید . البته این چیزی که من گفتم به کاربر اجازه میده که چندین سطر از دی بی گرید رو با نگه داشتن کلید کنترل انتخاب کنه ولی دقیقا چیزی رو که شما نیاز دارید رو هم انجام میده .
--------------
موفق باشید .

pad_kay
پنج شنبه 21 شهریور 1387, 12:11 عصر
سلام دوستان . من يك مشكل خيلي بزرگ با DBGrid پيدا كردم .

تعداد فيلدهاي من 5 تا هست و اندازه ي DBGrid من جوري هست كه فقط 4 تا از فيلدها رو ميشه ديد و براي ديدن فيلد پنجمي بايد نوار اسكرول افقي رو به سمت چپ كشيد تا فيلد پنجمي نشون داده بشه ... تا اينجا هيچ مشكلي نيست ولي يك مشكل بزگ وجود داره و اونم اينه كه وقتي نوار اسكرو رو ميكشم سمت چپ تا فيلد پنجم رو ببينم وقتي روي ركوردهام كليك ميكنم دوباره اسكرول بر ميگيرده سر جاي اولش .... من نميخوام برگرده سر جاي اولش و ميخوام وقتي كليك كرديم اسكرول همون جا كه هست بمونه .....

براي اينكه منظورم رو بهرت بفهمونم از DBGrid برنامم يك فيلم 30 كيلوبايتي گرفتم ( بسيار كم حجم ) تا دوستان بهتر منظورم رو بفهمن

لطفا كمك كنيد . اين مشكل خيلي ناخوشايند هستش :اشتباه:
با سلام خدمت شما
سوال من اینکه چرا شما از DBGrid استفاده می کنید که تنظیمات آن محدود است بهتر نیست که از کامپونت دیگری استفاده کنید نظیر DevExpress که هم دارای امکانات بیشتر و هم تنظیمات بیشتر است
با تشکر از شما

ali_mohamadi8928
چهارشنبه 27 شهریور 1387, 03:18 صبح
سلام
در خصیصه DBGrid1.Options گزینه dgRowSelect را false کنید.

من اين روش رو انتخاب كردم و با محدوديتهاش كنار اومدم :ناراحت:

ولي يه مشكل بزرگ داره اين روش كه از اون ديگه نميشه چشم پوشي كرد :خجالت:

فرض كنيم ما يك Columns دلخواه در DBGrid ايجاد كردمي و يك فيلد رو به اون نصبت داديم و در قمست Title > Caption يك عنوان دلخواه براي فيلدموم وارد كرديم و يك رنگ دلخواه براي نمايش نوشته هامون انتخاب كرديم . خوب حالا چرا ركورد انتخاب شده رنگش خود به خود سياه ميشه و رنگي مه ما انتخاب كرديم رو از دست ميده و وقتي از حالت انتخاب در اومد دوباره رنگش همرنگ رنگي ميشه كه ما انتخاب كرديم ؟؟؟؟ :افسرده:

عكس ضميمه شده رو ببينيد بهتر ميفهميد چي ميگم :لبخند: