PDA

View Full Version : حرفه ای: مشکل در گرید ویو



araz_pashazadeh
شنبه 13 اسفند 1390, 15:31 عصر
با عرض سلام و خسته نباشید خدمت شما دوستان عزیز
من در گرید وقتی خاصیت را True می کنم
dataGridViewInvoice.VirtualMode = true;
هرچیزی که در داخل گرید تایپ می کنم دیده نمیشه وقتی این خاصت را False می کنم هر چیزی که تایپ می کنم دیده میشه دلیل این مشکل چیه؟
خیلی کلافه شدم:ناراحت:.

araz_pashazadeh
یک شنبه 14 اسفند 1390, 08:46 صبح
از دوستان کسی تا حالا با این مشکل مواجه نشده؟
دلیل این مشکل چی می تونه باشه لطفا من را راهنمایی کنین.

araz_pashazadeh
یک شنبه 14 اسفند 1390, 08:48 صبح
از دوستان کسی تا حالا با این مشکل مواجه نشده؟
دلیل این مشکل چی می تونه باشه لطفا من را راهنمایی کنین.

shadi khanum
یک شنبه 14 اسفند 1390, 10:41 صبح
دوست عزیز واسه چی به این property نیاز داری اصلا؟

crazy coder
یک شنبه 14 اسفند 1390, 10:56 صبح
سلام
با چه مرورگری این مشکل رو داری؟ همه ی مرورگرها یا بعضی؟
دلیل استفاده از این property؟

araz_pashazadeh
یک شنبه 14 اسفند 1390, 11:58 صبح
دوست عزیز واسه چی به این property نیاز داری اصلا؟

دوست عزیز من در داخل گرید می خوام درج،ویرایش و حذف کنم برای این کار از رویداد NewRowNeeded استفاده می کنم.
اگر این خصوصیت را True نکنم این رویداد فعال نمی شود.

araz_pashazadeh
یک شنبه 14 اسفند 1390, 12:00 عصر
سلام
با چه مرورگری این مشکل رو داری؟ همه ی مرورگرها یا بعضی؟
دلیل استفاده از این property؟

دوست عزیز برنامه من تحت ویندوز نه وب من در WinApp این مشکل را دارم.

crazy coder
دوشنبه 15 اسفند 1390, 12:56 عصر
سلام
بابت اشتباهم عذر خواهم...
عرض فرم مورد نظر و عرض گرید رو یه چ بکن و ببین جا به اندازه کافی داره!!!!

araz_pashazadeh
جمعه 26 اسفند 1390, 10:12 صبح
سلام
بابت اشتباهم عذر خواهم...
عرض فرم مورد نظر و عرض گرید رو یه چ بکن و ببین جا به اندازه کافی داره!!!!

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

araz_pashazadeh
پنج شنبه 24 فروردین 1391, 16:12 عصر
کسی از دوستان تا حالا چنین کاری انجام نداده؟
خیلی وقت من درگیر این مشکل هستم لطفا من را راهنمایی کنین.
نمی دانم چیکار کنم راه حل این مشکل چیه؟

hakim22
پنج شنبه 24 فروردین 1391, 18:00 عصر
خاصیت VirtualMode برای وقتی هست که برنامه نویس میخواد به دلایلی مثل زیاد بودن حجم داده ها کلیه ی قوانین مدیریت داده ها رو خودش انجام بده و از متدها و چک کردن های پیشفرض datagridview استفاده نکنه.
شما باید رویداد CellValueNeeded رو هم کد نویسی کنی . بدون اون اصلا هیچی در گرید نخواهید دید.
مثلا یک همچین کدی باید داشته باشی :

Private Sub dataGridView1_CellValueNeeded(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DataGridViewCellValueEventArg s) _
Handles dataGridView1.CellValueNeeded

' If this is the row for new records, no values are needed.
If e.RowIndex = Me.dataGridView1.RowCount - 1 Then
Return
End If

Dim customerTmp As Customer = Nothing

' Store a reference to the Customer object for the row being painted.
If e.RowIndex = rowInEdit Then
customerTmp = Me.customerInEdit
Else
customerTmp = CType(Me.customers(e.RowIndex), Customer)
End If

' Set the cell value to paint using the Customer object retrieved.
Select Case Me.dataGridView1.Columns(e.ColumnIndex).Name
Case "Company Name"
e.Value = customerTmp.CompanyName

Case "Contact Name"
e.Value = customerTmp.ContactName
End Select

End Sub


در این حالت شما باید برای همه ی عملیات های اضافه شدن، حذف شدن و ویرایش شدن سلولهای گرید کد نویسی کنید !

به نظر من کار از اساس مشکل دارد ! شما چرا اصلا به NewRowNeeded نیاز دارید !؟
ما اینهمه برنامه ی با دیتاگرید نوشتیم و دیدیم ولی تا بحال اصلا از این گزینه استفاده نکردیم .

Mahmoud Zaad
پنج شنبه 24 فروردین 1391, 18:53 عصر
سلام
دوست عزیز شاید از مطلبی که من می خوام بگم ناراحت بشید چون جواب شما رو نمیدم و شما به دنبال جواب سوالتون باشید ...
به هر حال با توجه به تاپیک های قبلی شما، به نظر من بهتره برای ورود اطلاعات از دیتاگرید ویو استفاده نکنید تاریخ مصرف اینکار گذشته، اصلا اگه به اسم "دیتاگریدویو" هم توجه کنیم معنیش میشه کنترلی برای نمایش اطلاعات به صورت شبکه ای، توری! یا همون جدول خودمون. اگه برای ورود اطلاعات از تکست باکس و اینجور کنترل ها استفاده بشه کار خیلی راحت تر میشه و میشه کنترل بیشتری روی رویدادهای این کنترلها داشت. اینطور که من یادمه شما خیلی وقت دنبال اینکار هستید و اگه از تکست باکس و ... استفاده میکردید خیلی سریعتر کارتون انجام میشد.

araz_pashazadeh
شنبه 26 فروردین 1391, 16:35 عصر
به نظر من کار از اساس مشکل دارد ! شما چرا اصلا به NewRowNeeded نیاز دارید !؟
ما اینهمه برنامه ی با دیتاگرید نوشتیم و دیدیم ولی تا بحال اصلا از این گزینه استفاده نکردیم .

من می خوام کابر هم از طریق فرم اطلاعات را وارد بکنه هم از طریق گرید به همین دلیل از این خاصیت استفاده می کنم.
در ضمن من در فرم های دیگه از همین خاصیت استفاده کردم مشکلی هم ندارم فقط در یکی از فرم هام اعمال نمیشه.
شما چه راه حلی را پیشنهاد می کنین؟