PDA

View Full Version : نمایش اخرین رکورد اضافه شده توسط گریدویو



hana2064
شنبه 15 فروردین 1388, 10:43 صبح
با سلام
من با این کد تونستم اخرین سطر اضافه شده به گرید رو انتخاب کنم


int rowIndex = dataGridView1.Rows.Count - 1;
dataGridView1.Rows[rowIndex].Selected = true;

اما وقتی تعداد سطرها زیاده اخرین سطر رو نمیشه روی گرید دید یعنی گرید اسکرول نمیخوره
چه جوری باید اسکرول رو حرکت بدیم و اخرین سطر رو ببینیم؟؟؟

adibadm
شنبه 15 فروردین 1388, 11:01 صبح
می تونید از کد زیر استفاده کنید.

Datagrid.FirstDisplayedScrollingRowIndex=Datagrid. Rows.Count-1

hana2064
شنبه 15 فروردین 1388, 11:12 صبح
ازشما ممنونم
من تو گرید اطلاعات دانشجوها رو وارد میکنم. و گرید بطور پیشفرض اطلاعات رو sort میکنه( بر اساس شماره دانشجویی) به همین دلیل اخرین سطری که نشون میده دقیقا اخرین رکوردی نیست که من ثبت کردم
چطور باید گرید رو تنظیم کنم که اطلاعات رو sort نکنه و همه اطلاعات ورودی رو پشت سر هم درج کنه؟؟

adibadm
شنبه 15 فروردین 1388, 11:28 صبح
دوست عزیز دقیقا نمی دونم اما

Datagrid.SortOrder = SortOrder.None

hana2064
شنبه 15 فروردین 1388, 16:05 عصر
بازم ممنون. این کدو نوشتم ولی خطا میگیره
من در مورد برگرداندن اخرین سطر اضافه شده به گرید خیلی سرچ کردم ولی به نتیجه نرسیدم از دوستان خواهش میکنم اگه میتونن یه جواب درست و کلی به این مسئله بدن:متفکر:
در مورد جلوگیری از سورت خودکار گرید هم ....

adibadm
شنبه 15 فروردین 1388, 17:58 عصر
دوست عزیز مطمئن هستی پیغام خطا داد؟ چه پیغامی بود؟

hana2064
یک شنبه 16 فروردین 1388, 08:34 صبح
Error 1 'SortOrder' is an ambiguous reference between 'System.Data.SqlClient.SortOrder' and 'System.Windows.Forms.SortOrder'


Error 2 'System.Data.SqlClient.SortOrder' does not contain a definition for 'None'

seven7777777
یک شنبه 16 فروردین 1388, 09:14 صبح
من یه راهی به ذهنم رسید ، شاید مفید باشه البته زاهش ماست مالیه !!!

اگه جدول شما کلید داره که identity داره ، براحتی میشه آخرین فیلد اضافه شده رو پیدا کرد و در Datagridview نشان داد .

اما وقتی تعداد سطرها زیاده اخرین سطر رو نمیشه روی گرید دید یعنی گرید اسکرول نمیخوره
چه جوری باید اسکرول رو حرکت بدیم و اخرین سطر رو ببینیم؟؟؟
راستی منظورتون از اینکه گرید اسکرول نمی خوره چیه ؟؟؟ یعنی گزینه Scrollbars فعاله و گرید اسکرول نمی خوره ؟؟؟

و در مورد sort هم در بخش Columns از Datagridview وقتی که داری فیلدهاتو تعریف می کنی و یا در هنگام کد نویسی با دسترسی به فیلد مورد نظرت از ویژگی هاش گزینه SortMode رو انتخاب و مقدار اونو Notsortable قرار بده .

hana2064
یک شنبه 16 فروردین 1388, 10:14 صبح
این راه به ذهن خودم رسیده بود ولی من 2روزه دنبال راهی هستم که با خواص خود گرید این کارو انجام بدم بعضی جدولها دو کلید دارن که identity هم نیست پس نمیشه از این راه رفت بالاخره دچار مشکل میشه و باید دنبال یه راه اساسی بود که بشه اخرین فیلد ا ضافه شده به جدول که لزوما روی گرید اخرین سطر نیست پیدا کرد . ممکنه اول گرید یا اخر گرید باشه .
منظورم از اسکرول هم مشخصه دیگه . مثلا وقتی 100 تا سطر روی گرید باشه شاید 20 تای اولو فقط ببینی بقیه اسکرول میخوره و نمیشه اونا رو دید
اساتید برای حل این مسئله کمک کنن لطططططططططططففففففففففففف اااااااااا

seven7777777
یک شنبه 16 فروردین 1388, 10:24 صبح
خوب مشکلت با Sort حل شد . اگه بعد از واکشی از دیتابیست اطلاعات Sort نشن ، خوب آخرین ردیف اضافه شده آخرین ردیف Datagridview هست .

hana2064
یک شنبه 16 فروردین 1388, 11:14 صبح
:عصبانی++:ای بابا من کی گفتم مشکلم با sort حل شد از دیروز تا الان هیچ کار نکردم بجز جستجو هر چی میگردم کمتر پیدا میکنم.
ببینید
1- اگه اطلاعات مرتب نشه و پشت سر هم تو گرید نمایش داده بشه میشه اخرین سطر رو یه جوری Select کرد(باهمون کدی که تو پست اول نوشتم) یعنی مشکل sort شدن خودکار اطلاعات حالا بر اساس عدد بصورت صعودی یا حرف اول نام و نام خانوداگی یا... پس باید کاری کنیم که اطلاعات مرتب نشه
2- وقتی اطلاعات ما زیاده و تو گرید جا نمیشه یه اسکرول کنار گرید مشاهده میشه که نمیذاره سطر انتخاب شده رو ببینم
امیدوارم متوجه منظور من شده باشید:عصبانی++::عصبانی++::عصب نی++:
لطفا مدیرای بخش اگه میتونن کمک کنن