PDA

View Full Version : سوال: مشکل در DataGridView در VB.Net



mgh64120
سه شنبه 03 شهریور 1388, 16:34 عصر
سلام دوستان
من یک فرم در VB.Netدارم که توسط دیتا گرید ویوو اطلاعات جدول من رو نمایش میده. خاصیت Visiable یکی از ستون هاش رو برابر False قرار دادم و میخوام که اطلاعات اون ستون با توجه به سطری که انتخاب شده در یک Label که در فرم هست نمایش داده بشه . کد مربوطه رو در رویداد Grid_SelectionChanged قرار دادم ولی مدام با error زیر مواجه میشم. اگه ممنکه راهنماییم کنید(کمی تا قسمتی فوری!!!).لازم به ذکر است که خاصیت SelectionMode گرید رو به FullRowSelect تنظیم کردم.


Index Was out of Range.Must Be Non-NegativeAnd Less Than The Size Of The


Collection.Parameter name:Index
کد مربوطه :

Private Sub Grid_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Grid.SelectionChanged
lblDiscription.Text = Grid.SelectedCells(8).Value.ToString
End Sub

toopak
سه شنبه 03 شهریور 1388, 16:51 عصر
بیا عزیز


lblDiscription.Text = Grid.CurrentRow.Cells(0).Value

فقط حواست باشه که به جای 0 ،شماره ستونی که میخوایی بزار
این نکته رو هم فراموش نکن که شماره ستون ها از صفر شروع میشه :چشمک:

mgh64120
سه شنبه 03 شهریور 1388, 16:59 عصر
بیا عزیز


lblDiscription.Text = Grid.CurrentRow.Cells(0).Value

فقط حواست باشه که به جای 0 ،شماره ستونی که میخوایی بزار
این نکته رو هم فراموش نکن که شماره ستون ها از صفر شروع میشه :چشمک:

با تشکر از دوست عزیز منظورم اینه که در چه رویدادی(Event) از دیتا گرید بنویسم که موقع باسازی اطلاعات دیتاگرید پیغام خطای بالا رو نده!

anooshiran
سه شنبه 03 شهریور 1388, 18:07 عصر
سلام دوست عزيز
اين خطا از آن رو ناشي شده كه شما در Grid.SelectedCells(8). از شماره ستوني استفاده كرده ايد كه افزون از رنج ستون هاي شماست . يعني شما ColumnIndex 8 نداريد به عبارتي شما 9 ستون نداريد.

در ضمن بهتره كه اين كد را دررويداد ‍cellValidated استفاده كنيد. يعني پس از پايان نگارش متن و خروج از آن cell . اين البته كاملا سليقه اي است