PDA

View Full Version : مخفی کردن یک ستون از دیتاگرید(جواب همراه با نمونه کد )



linux
یک شنبه 09 فروردین 1383, 14:20 عصر
The ColumnMapping property determines how a DataColumn is mapped when a DataSet is saved as an XML document using the WriteXml method.

این خاصیت برای وقتی هست که از دیتاست و xml استفاده میکنید و ربطی به اون چیزی که می خواهید نداره.


برای اینکه دیتا گرید را پر کنید می تونید از چند روش استفاده کنید
فرض کنید از روش datatable می خواهید استفاده کنید
اولش باید یه datatabel تعریف کنید بعدش ستون ها را تعریف کنید و بعدش هم datatable را از اطلاعاتی که می خواهید پر کنید
و بعد از این باید یک DataGridTableStyle
کد زیر را خوب ببینید
اسم دیتا گیرید mydayagrid هست و یک تکست باکس اضافه کنید و مقدار این تکست باکس هست که مشخص میکنه کدام ستون نمایش داده نشه.
مثال زیر را هم دانلود کنید و اجرا کنید و خوب ببینید.




Dim myTable As New DataTable("tbl")
Dim myCol As DataColumn
Dim myRow As DataRow

Dim i As Integer
Dim j As Integer

For i = 0 To 5
myCol = New DataColumn
myCol.ColumnName = "col no." & i.ToString
myTable.Columns.Add(myCol)
Next
For i = 0 To 5
myRow = myTable.NewRow
For j = 0 To 5
myRow(j) = j + i * 6
Next
myTable.Rows.Add(myRow)
Next

Dim DGTStyle As DataGridTableStyle = New DataGridTableStyle
DGTStyle.MappingName = myTable.TableName
DGTStyle.RowHeadersVisible = False
DGTStyle.ForeColor = Color.Blue


DGTStyle.GridLineStyle = DataGridLineStyle.Solid
DGTStyle.HeaderFont = New System.Drawing.Font _
("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, _
System.Drawing.GraphicsUnit.Point, CType(0, System.Byte))

Dim colstyle As DataGridColumnStyle
For i = 0 To 5
colstyle = New DataGridTextBoxColumn
colstyle.MappingName = myTable.Columns(i).ToString
If i = Val(TextBox1.Text) Then
colstyle.Width = 0 ' setting column with
Else
colstyle.HeaderText = myTable.Columns(i).ToString
colstyle.Width = 60 ' setting column with
End If
colstyle.Alignment = HorizontalAlignment.Center
colstyle.ReadOnly = True
DGTStyle.GridColumnStyles.Add(colstyle)
Next

myDataGrid.TableStyles.Clear()
myDataGrid.TableStyles.Add(DGTStyle)
myDataGrid.SetDataBinding(myTable, "")

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

bbehnam
دوشنبه 10 فروردین 1383, 10:09 صبح
البته اگه اشاره اونا رو تو چاه نندازه مثلا برای حل همین مشکل از تمام امکانات موجود چشم پوشی کرده و به کلک متوصل بشیم

bbehnam
دوشنبه 10 فروردین 1383, 10:10 صبح
البته اگه اشاره اونا رو تو چاه نندازه مثلا برای حل همین مشکل از تمام امکانات موجود چشم پوشی کرده و به کلک متوصل بشیم

linux
دوشنبه 10 فروردین 1383, 13:07 عصر
?
کار شما با این مثال راه نیافتاد؟؟
اون mapping که شما گفتید جریانش یه چیزه دیگه هست.
کلک هم نزدم یه روش کاملا صحیح و کارآمد است