PDA

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



baidin
یک شنبه 27 تیر 1389, 00:45 صبح
با سلام
من مشكلي در رابطه با گريد ويو داشتم و كد نوشته شده با وي بي هست و اشكال را در اين جا:
http://barnamenevis.org/forum/showthread.php?p=1044247#post1044247
بيان كردم. در صورتي كه دوستان نياز داشته باشند كد سي شارپ اون را هم ميگذارم

mohsen622001
یک شنبه 27 تیر 1389, 01:06 صبح
اینجا مسائل مربوط به #c مورد برسی قرار می گیره و مطمعن هستم اینجا به جوابی نمی رسی چون کمتر کسی vb کار کرده

baidin
یک شنبه 27 تیر 1389, 07:03 صبح
کد هم از کد سی شارپ

Private Sub MySub(ByVal DG As DataGridView)
Dim D As New DataGridView
Dim k As Integer = 0
For k = 0 To DG.ColumnCount - 1
Dim col As New DataGridViewColumn
( col = DG.Columns(k
( D.Columns.Add(col
Next
DGVMain = D
End Sub

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

karim_medusa
یک شنبه 27 تیر 1389, 08:33 صبح
ستونی که به یک کنترل گرید تعلق داره رو نمی تونی به گرید دیگری بدی! باید یک ستون جدید ایجاد کنی و مشخصات اون رو پر کنی . مانند کد زیر :



private void MySub(DataGridView DG)
{
DataGridView D = new DataGridView();

int k = 0;
for (k = 0; k <= DG.ColumnCount - 1; k++)
{
DataGridViewColumn col = new DataGridViewColumn();
col.HeaderText = DG.Columns[k].HeaderText;
col.Name = DG.Columns[k].Name;
col.CellTemplate = DG.Columns[k].CellTemplate;

//other properties ...

D.Columns.Add(col);
}
DGVMain = D;
}

baidin
یک شنبه 27 تیر 1389, 13:57 عصر
ستونی که به یک کنترل گرید تعلق داره رو نمی تونی به گرید دیگری بدی! باید یک ستون جدید ایجاد کنی و مشخصات اون رو پر کنی . مانند کد زیر :



private void MySub(DataGridView DG)
{
DataGridView D = new DataGridView();

int k = 0;
for (k = 0; k <= DG.ColumnCount - 1; k++)
{
DataGridViewColumn col = new DataGridViewColumn();
col.HeaderText = DG.Columns[k].HeaderText;
col.Name = DG.Columns[k].Name;
col.CellTemplate = DG.Columns[k].CellTemplate;

//other properties ...

D.Columns.Add(col);
}
DGVMain = D;
}


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

baidin
پنج شنبه 21 مرداد 1389, 10:31 صبح
کسی کنترل را نمیتونه یک کپی ازش بگیره! و داخل آبجت دیگه ای قرار بده!

karim_medusa
شنبه 23 مرداد 1389, 08:28 صبح
اینو ببین کارت راه میندازه؟



private void MySub(DataGridView DG)
{
DataGridView D = new DataGridView();

int k = 0;
for (k = 0; k <= DG.ColumnCount - 1; k++)
{
DataGridViewColumn col = DG.Columns[k].Clone();
D.Columns.Add(col);
}
DGVMain = D;
}