PDA

View Full Version : اشكال در ارسال پارامتر گريد به صورت byVal



baidin
یک شنبه 27 تیر 1389, 00:42 صبح
من گريد ويو را به عنوان پارامتر به گريد ويو ميفرستم و نيمخوام تغييراتي را كه توي تابع روي گريد انجام ميدم روي گريد اصلي اعمال بشه ولي زماني هم كه با ByVal ارسال ميكنم باز هم تغييرات روي گريد اصلي اعمال ميشه

Fun(byval D as Datagridview)


براي حل مشكل كد زير رو نوشتم ولي خطاي Null ميده:

Dim k As Integer = 0
For k = 0 To MyMainGridView.ColumnCount - 1
Dim col As New DataGridViewColumn
col = MyMainGridView.Columns(k)
dgvLocal.Columns.Add(col)
Next

hero4000
یک شنبه 27 تیر 1389, 08:49 صبح
دوست عزيز شما چرا پارامتر رو اصلا ارسال کرديد وقتي که ازش استفاده اي نمي کنيد

بعدشم چرا کدات رو کامل نذاشتي

تازه ديتاسورس گريدت چيه

ميدوني که وقتي ديتاسورسات يکي باشن هر تغييري توي اطلاعات گريدها بدي روي اون يکي ديگه هم اثر ميذاره

حامد مصافی
یک شنبه 27 تیر 1389, 09:09 صبح
عبارت ByVal را از كد فوق حذف كنيد و در عوض تابع را به اين شكل فراخواني كنيد:

Fun( dataGridView1.Clone() )

baidin
شنبه 02 مرداد 1389, 06:52 صبح
عبارت ByVal را از كد فوق حذف كنيد و در عوض تابع را به اين شكل فراخواني كنيد:

Fun( dataGridView1.Clone() )

اول اینکه پارامتر به دو صورت ByVal,ByRef میباشد و وقتی وارد نمیکنیم خود زبان ByVal وارد میکند و دوم اینکه Clone را که استفاده میکنم خطا میده

baidin
چهارشنبه 06 مرداد 1389, 21:46 عصر
کسی با این مشکل موجه نشده؟

ebrahimv
پنج شنبه 07 مرداد 1389, 22:26 عصر
خوب معلومه نميشه
DataGridViewColumn يك شعي است و اشياء زاتن با ارجا هستند و نميتوان باي ول فرستاد

baidin
سه شنبه 19 مرداد 1389, 07:27 صبح
خوب معلومه نميشه
DataGridViewColumn يك شعي است و اشياء زاتن با ارجا هستند و نميتوان باي ول فرستاد
بله اطلاع دارم که شی با ارجا ارسال میشه ولی راهی وجود نداره که من یک کپی کامل از گرید بگیرم بدون اینکه تک تک پروپرتی های گرید را مرتب نسبت بدم به گرید جدید؟

baidin
پنج شنبه 21 مرداد 1389, 10:29 صبح
کسی اینجا نیست که کنترل را با ByVal منتقل کنه