PDA

View Full Version : پرش به آخرین رکورد وارد شده در دیتا گرید ویو



dark-man
چهارشنبه 30 بهمن 1387, 10:51 صبح
با سلام خدمت همه اساتید . در مورد عنوان سوال حدودا" 45 صفحه رو از طریق جستجو بررسی کردم اما جوابی پیدا نکردم . من یک فرم دارم که در این فرم یه دیتا گرید ویو وجود داره که این دیتا گرید ویو به دیتا بیس بایند شده و چند تکست باکس و یه دکمه . می خوام وقتی اطلاعاتی رو داخل تکست باکسها وارد کردم و دکمه رو زدم علاوه بر اینکه اطلاعات وارد دیتا بیس میشن در دیتا گرید ویو هم بروز رسانی بشه و کرسر دیتا گرید ویو به آخرین رکورد وارد شده بره . ممنون میشم در این زمینه راهنمائیم کنید .

molana alavi
جمعه 02 اسفند 1387, 01:39 صبح
int intIndexLastRow = this.dataGridView1.AllowUserToAddRows ? this.dataGridView1.Rows.Count - 2 : this.dataGridView1.Rows.Count - 1;
this.dataGridView1.Rows[intIndexLastRow].Selected = true;

h.jaza
جمعه 02 اسفند 1387, 13:17 عصر
molana alavi (http://barnamenevis.org/forum/member.php?u=17790) چه نیازی به چک کردن دسترسی به اضافه کردن ردیف هست؟
من متوجه این چک نمی شم؛ لطفا توضیح بدین.

در نتیجه جواب معقول تر (به نظر من) با حذف چک بدست میاد:



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

molana alavi
جمعه 02 اسفند 1387, 13:22 عصر
اگر کاربر اجازه افزودن یک ردیف رو داشته باشه کدی که شما نوشتید به اون ردیف خالی که برای افزودن ردیف های جدید وجود داره انتخاب می کنه

h.jaza
شنبه 03 اسفند 1387, 16:14 عصر
اگر درست متوجه منظور شما شده باشم، شما تیک Enable Adding خود دیتا گرید ویو رو چک گذاشتین بمونه، در نتیجه خود ویژوال برای شما یه ردیف همواره به دیتا گرید اضافه می کنه و به تبع، زمانی که از کد (ارائه شده در پست قبلی خودم) استفاده می کنید، Focus رو روی همون ردیف اضافه می بره.

جواب خیلی سادس: جای عدد یک از دو استفاده بکنید تا این ردیف در نظر گرفته نشه.

اما اگر چک Enable Adding رو بردارید، دیگه همون کد بالا مورد استفاده باید قرار بگیره.

hana2064
شنبه 15 فروردین 1388, 10:29 صبح
منم همین مشکلو داشتم که البته با کد کاربرh.jaza حل شد اما مشکلی که داره اینه که وقتی تعداد رکوردها زیاده اخرین سطر حتی بعد از انتخاب هم نمایش داده نمیشه یعنی اسکرول نمیخوره . چطوری میشه اخرین سطر رو به کاربر نشون داد ؟؟؟
ممنون

h.jaza
شنبه 15 فروردین 1388, 16:03 عصر
یه کاری میشه کرد که البته برای زیبا تر شدن، باید یکم روش کار کرد ولی اینه که بگی:



datagridview1.FirstDisplayedScrollingRowIndex = index;


که index می تونه هر چیزی باشه مثلا آخرین ردیف. (datagridview1.Rows.Count - 1)