PDA

View Full Version : حرفه ای: باگ در گرید ویو ماکروسافت ( راه حلی دارید آیا؟)



ostovarit
چهارشنبه 12 خرداد 1389, 22:44 عصر
با سلام و خسته نباشید
من بعد از نوشتن چند خطی کد با ارور زیر مواجه شدم:

InvalidArgument=Value of '3' is not valid for 'rowIndex'.

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

http://connect.microsoft.com/VisualStudio/feedback/details/116413/datagridview-exception-with-readonly-cells

- تا حالا با این ارور برخورد کرده بودید؟
- راه حلی برای حل آن دارید؟
-لطفا لینک توضیحات رو (در بالا گذاشتم) نگاه کنید و اگر راه حلی برای حل این ارور به نظرتون میرسه بفرمایید؟

spring69
جمعه 14 خرداد 1389, 01:36 صبح
سلام.
شما از چه نسخه اي از VS استفاده ميكنيد؟
چون تاريخ اون پست ماله 2005 هستش.
اگه vs2008 استفاده ميكنيد حتما sp1 رو هم نصب كنيد.
اگر بازم مشكل پابرجا بود، ميتونيد از همون كدي كه توي همون پست پيشنهاد كرده استفاده كنيد.

ostovarit
جمعه 14 خرداد 1389, 23:48 عصر
سلام.
شما از چه نسخه اي از VS استفاده ميكنيد؟
چون تاريخ اون پست ماله 2005 هستش.
اگه vs2008 استفاده ميكنيد حتما sp1 رو هم نصب كنيد.
اگر بازم مشكل پابرجا بود، ميتونيد از همون كدي كه توي همون پست پيشنهاد كرده استفاده كنيد.

با سلام و تشکر از توجهتون

من عین اون کد رو با این که متوجه نشدم دقیقا چه کار میکنه نوشتم و تاثیری نداشت وناچار شدن سناریو رو کمی تغییر بدم که باب میلم نبود ...

من از Visual Studio 2008 استفاده میکنم ... version 9

منظورتون Visual Studio 2008 SP1 رو نصب کنم؟

spring69
شنبه 15 خرداد 1389, 02:33 صبح
منظورتون Visual Studio 2008 SP1 رو نصب کنم؟
بله يا خود VS2008SP1 رو نصب كن يا sp1 رو جداگانه نصب كن.
ميشه بگي چه كدي نوشتي كه اين ارور رو ميده؟

ostovarit
شنبه 15 خرداد 1389, 12:30 عصر
بله يا خود VS2008SP1 رو نصب كن يا sp1 رو جداگانه نصب كن.
ميشه بگي چه كدي نوشتي كه اين ارور رو ميده؟

ممنون از راهنماییت

کدی که نوشتم چیز عجیبی نیست ... زیاده برای همین توضیح میدم :
یک دیتاست دارم تیبل هام رو داخل اون قرار دادم ...
یک بایند نوشتم که با توجه به شماره فاکتور که در یک تکست باکس کاربر میتونه اونو تغییر بده گریدم رو بایند میکنه ...
وقتی فاکتور ثبت میشه و بیشتر از دو سه ردیف کالا داخل گرید باشه در هنگام ثبت مشکلی نداریم ولی به محض اینکه شماره فاکتوری که الان ثبت کردم رو در تکست باکس وارد کنم گرید بایند نمیشه و اروری که گفتم رو میده...

چند تا از ستون های گرید به صورت Read Only تعریف شده ... یک شمارش گر ردیف های گرید رو شماره گذاری میکنه و چیز خاص دیگه ای هم نیست!

باز حالا جستجو میکنم با اساتید هم مشکل رو در میون میزارم اگر به جواب رسیدم که اینجا مینویسم یک نمونه هم از کدی که به ارور منتهی میشه رو مینویسم و در فروم قرار میدم.

ولی من از کد مطمئن هستم و تیکه تیکش رو کامنت کردم و چک کردم ولی همچنان مشکل پا برجاست ...

ostovarit
شنبه 15 خرداد 1389, 15:53 عصر
پیداش کردم !

کل کدام رو کامنت کردم دونه دونه تست کردم از اول ...

گرید ویژال توی ReadOnly ستونها باگ داره من این کد رو نوشته بودم و تا زمانی که کامنت هست مشکلی نداره همین که از کامنت در بیاد بایند گرید در حالتی که بیش از 3 - 4 ردیف اطلاعات داشته باشد همراه با ارور است وگرنه همین کد با 1-2 ردیف مشکلی نداره!



//------------------------------Enable input Goods info until GoodsName Enter-------------//

private void dataGridViewSpesific1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex != 0 && dataGridViewSpesific1[0, e.RowIndex].Value.ToString() != "")
{
dataGridViewSpesific1[1, e.RowIndex].ReadOnly = false;
dataGridViewSpesific1[2, e.RowIndex].ReadOnly = false;
dataGridViewSpesific1[3, e.RowIndex].ReadOnly = false;
dataGridViewSpesific1[4, e.RowIndex].ReadOnly = false;
}
else
{
dataGridViewSpesific1[1, e.RowIndex].ReadOnly = true;
dataGridViewSpesific1[2, e.RowIndex].ReadOnly = true;
dataGridViewSpesific1[3, e.RowIndex].ReadOnly = true;
dataGridViewSpesific1[4, e.RowIndex].ReadOnly = true;
}
}