PDA

View Full Version : مشکل در بروز رسانی دیتا گرید ( DataGridView)



چینی ساز
سه شنبه 28 دی 1395, 12:37 عصر
سلام

من با کد نویسی وی بی دات نت ی دیتاگرید دارم که هنگام لود اطلاعات پیش فرش (4ستون شناسه و نام و نام خانوادگی و نام پدر) رو نشون میده
سه عدد چک باکس هم روی فرم دارم که هر کدوم مربوط به ی ستون هست هنگامی که این سه تا چک باکس تیک دار میکنم به دیتاگرید ستون ها اضافه میشه
ولی وقتی تیک بردارم با اینکه کد تغییر کرده و اون ستون رو سلکت نمی کنه دیتای اون حذف میشه ولی ستون حذف شده در دیتا گرید باقی می مونه البته خالی از دیتا فقط اسم ستون هست
حالت اول
(http://s6.uplod.ir/i/00857/zxfzqd73xtbp.png)http://s6.uplod.ir/i/00857/zxfzqd73xtbp.png

حالت دوم

http://s6.uplod.ir/i/00857/sgfkj6jp73xj.pn (http://s6.uplod.ir/i/00857/sgfkj6jp73xj.png)

144167144168

چینی ساز
سه شنبه 28 دی 1395, 12:41 عصر
Imports System.Text
Imports System.Globalization
Imports System.IO
Imports System.Data.OleDb

Public Class rep_emp
Dim cn As New System.Data.OleDb.OleDbConnection
Dim cm As New System.Data.OleDb.OleDbCommand
Dim da As New System.Data.OleDb.OleDbDataAdapter
Dim dt As New DataTable
Dim lain As String = ""
Private Sub conn()
cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= D:\pesoli\db1.mdb;Jet OLEDB:Database Password=987;"
cm.Connection = cn
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
f_dgg()
End Sub
Private Sub fillCustom(query As String)
conn()
dt.Clear()
cm.CommandText = query
da.SelectCommand = cm
da.Fill(dt)
DataGridView1.DataSource = dt
DataGridView1.AutoResizeColumnHeadersHeight()
DataGridView1.AutoResizeColumns()
DataGridView1.AutoResizeRows()
DataGridView1.Refresh()
End Sub
Private Sub c_str()
lain = ""
If CheckBox0.Checked = True Then
lain += ",cod_meli as[کدملی]"

End If
If CheckBox1.Checked = True Then
lain += ",tavalod as[متولد]"

End If
If CheckBox2.Checked = True Then
lain += ",shenasnameh as[ش شناسنامه]"

End If


f_dgg()

End Sub

Private Sub f_dgg()
Dim lain2 As String = "select id_emp as[شناسه],fname as[نام],famili as[فامیل],pname as[نام پدر]"

Label20.Text = lain2 & lain & "from emp2 Order By famili"

fillCustom(lain2 & lain & "from emp2 Order By famili")

Label3.Text = DataGridView1.Rows.Count
End Sub

Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
c_str()
End Sub
Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.CheckedChanged
c_str()
End Sub
Private Sub CheckBox0_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox0.CheckedChanged
c_str()
End Sub

End Class


این هم کدهاش

systam
سه شنبه 28 دی 1395, 21:50 عصر
سلام
حتما باید اطلاعات دوباره ار دیتا بیس فرخوانی بشه
میتونی با استفاده از شرط ستون مورد نظر مخفی و یا نمایش بدی