-
فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
با عرض سلام و ادب
می خوام در صورت در دسترس نبودن وسیله نقیله یا ... با استفاده از چک باکس مانع از نمایش در سایر datagridview شود
ممنون میشم کمکم کنید
مثال :
http://up.vbiran.ir/images/5rfua0tza89qkfw7somt.jpg
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
سلام راستش منظورت رو خوب متوجه نمیشم ، شما میخواین اون ستون ها رو مخفی کنین ،
میتونین Visible ش رو False کنید تا دیده نشه :
1
DataGridView1.Columns(ColumnName or Column Index).Visible = False
به جای Column name یا Column Index نام ستون یا ایندکس ستون رو وارد کن.
اگه منظورت فرق میکنه بیشتر توضیح بده .
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
ببنید ما ی فرم برای وارد کردن اطلاعات خودر وها و دیدن مشخصات کاملش داریم
برخی از خودرو ها فروخته میشند یا از شرکت به کل خارج میشند اما نمی خوایم اطلاعات یا سوابق خودرو از بین بره می خواهم همچین چک باکسی باشه که فقط برای دیدن اطلاعات خودر های فعال شرکت تیک رو خودروهای فعال زده شود و فقط سطرهای که تیک خوردن قابل نمایش و ویرایش باشند سایر datagridview در با تشکر
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
نقل قول:
نوشته شده توسط
moory1364
ببنید ما ی فرم برای وارد کردن اطلاعات خودر وها و دیدن مشخصات کاملش داریم
برخی از خودرو ها فروخته میشند یا از شرکت به کل خارج میشند اما نمی خوایم اطلاعات یا سوابق خودرو از بین بره می خواهم همچین چک باکسی باشه که فقط برای دیدن اطلاعات خودر های فعال شرکت تیک رو خودروهای فعال زده شود و فقط سطرهای که تیک خوردن قابل نمایش و ویرایش باشند سایر datagridview در با تشکر
با این روشی که شما گفتین راحت میشه انجام داد ولی به نظر من یک ستون به جدولتون در بانک اصلی اضافه کنید ، که مثلا 2 مقدار True و False رو بگیره ، که مقدار True یعنی فروخته شده یا خارج شده از شرکت و False مثلا یعنی جدید. وقتی که دارین اطلاعات رو واکشی میکنین سطرهایی که مقدار ستونشون برابر False هست رو بیرون بکشین یعنی ماشین های جدید.
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
نقل قول:
نوشته شده توسط
vbBoss
با این روشی که شما گفتین راحت میشه انجام داد ولی به نظر من یک ستون به جدولتون در بانک اصلی اضافه کنید ، که مثلا 2 مقدار True و False رو بگیره ، که مقدار True یعنی فروخته شده یا خارج شده از شرکت و False مثلا یعنی جدید. وقتی که دارین اطلاعات رو واکشی میکنین سطرهایی که مقدار ستونشون برابر False هست رو بیرون بکشین یعنی ماشین های جدید.
بله این تا اینجاش مشخص هستش که میخوام با چک باکس کار True و False رو انجام میده
مشکل من هم اینجاس چه جوری به datagridview های دیگه حالی کنم اگه ستونی به نام مثال : chekbox مقدارش True یا False بود اون سطر قابل نمایش نباشد
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
ببین این بدردت میخوره؟
for (int i = 0; (i < dataGridView1.Rows.Count - 1); i++)
{
if (Convert.ToBoolean(dataGridView1.Rows[i].Cells["دسترسی"].Value) == false)
dataGridView1.Rows.Remove(dataGridView1.Rows[i]);
}
پ.ن : البته اگه موقع خوندن اطلاعات از دیتابیس رکوردهارو فیلتر کنی تو حفظ منابع میتونه کمکت کنه !!
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
تشکر headshoter جان جواب گو نشد
از فیلتر کردن اطلاعات استفاده می کنم انگار تنها راه همین هستش
حالا ی سوال : چک باکس رو داخل datagridview چطوری داشته باشم که با تیک زدنش True یا False بره داخل ستون دیتابس
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
نقل قول:
نوع داده bit در SQL-SERVER
وقتی به گرید بایند کردی در ستون مربوط به فیلد (Column Type) رو بزار DataGridViewCheckBoxColumn
این مشکل هم حل شد فقط ی مشکل دیگه من روی datagridview اپشن Edit رو فعال کردم تیک میزنم یا ویرایش رو از طریق datagridview حدول انجام میدمحالا چطوری ذخیره کنم ؟؟؟؟
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
دوباره سلام !
من اون کد رو اصلاح کردم و کد زیر رو نوشتم و ایندفه تست هم کردم !! 100% باید برای شما هم جواب بده !!
فقط به جای "دسترسی" ایندکس ستون دسترسی رو بزار
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
if (Convert.ToBoolean(dataGridView1.Rows[i].Cells["دسترسی"].Value) == false)
{
dataGridView1.Rows.Remove(dataGridView1.Rows[i]);
i--;
}
}
پ.ن : ولی باز هم به نظرم فیلتر کنی بهتره .
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
سلام
کسی نیست بگه تغییرات اعمال شده ی datagridview رو باید چطور UPDATA یا INSERT کرد
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
سلام
اول بگو ببینم کد دومی که نوشتم جواب داد یا مثه اولیه این هم نشد؟!
دوم اینکه میخوی کل سطرهای دیتاگریدویو رو ببری و دیتابیس رو باهاشون اپدیت کنی (!!!) یا میخوای اخرین سطری که ادیت شده رو ببری اپدیت کنی؟
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
نقل قول:
نوشته شده توسط
headshoter
سلام
اول بگو ببینم کد دومی که نوشتم جواب داد یا مثه اولیه این هم نشد؟!
دوم اینکه میخوی کل سطرهای دیتاگریدویو رو ببری و دیتابیس رو باهاشون اپدیت کنی (!!!) یا میخوای اخرین سطری که ادیت شده رو ببری اپدیت کنی؟
این کد شما برای C# هستش من با vb.net نوشتم
از فیلتر استفاده کردم ممنون
نه می خوام چک باکس های که تیک زدم یا تیک نخورده رو ببرم تو فیلتر برای اینک تیک خوردها رو داخل دیتابس ذخیره کنم از طریق datagridview چی کار باید کرد
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
سلام !! ببخشید دیر جواب دادم به کامپیوتر دسترسی نداشتم !
این کد اپدیت هستش !!
اگه توضیح هم نیاز داشتی بگو که برات توضیح بدم .
Private Sub DataGridView1_CellEndEdit(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) _
Handles DataGridView1.CellEndEdit
Dim cmd As New SqlCommand
Dim cnn As New SqlConnection
cnn.ConnectionString = "Data Source=.;Initial Catalog=Spec;Integrated Security=True"
With cmd
.Connection = cnn
.CommandText = "UPDATE Test Set Firstname = @fname, Lastname = @lname, Can = @Can Where ID = @id"
If (cnn.State = ConnectionState.Closed) Then
cnn.Open()
End If
With .Parameters
.Clear()
.AddWithValue("@fname", DataGridView1.CurrentRow.Cells(1).Value.ToString() )
.AddWithValue("@lname", DataGridView1.CurrentRow.Cells(2).Value.ToString() )
.AddWithValue("@Can", Convert.ToBoolean(DataGridView1.CurrentRow.Cells(3 ).Value))
.AddWithValue("@id", Int(DataGridView1.CurrentRow.Cells(0).Value))
End With
.ExecuteNonQuery()
End With
cnn.Close()
End Sub
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
تشکر می کنم دوست خوبم با کد شما نتونستم کاری انجام بدم
این کد روهم نوشتم اما مشکلش اینه فقط روی خط آخر عمل می کنه یعنی اگه چک باکس رو تیک بزنی همشون تیک می خوره یا بر عکس
چی کار کنم ردیف های که تیک می زنم عمل کنه هر چند بعد تیک زدن یا تیک روبرداشتند می گه آپدیت شد اما هیچ واکنشی رو برای دیتابس فرستاده نمیشود
Private Sub DataGridView1_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _
Handles DataGridView1.CellEndEdit
Dim command As New SqlClient.SqlCommand
Dim connection As New SqlClient.SqlConnection
Dim adaptor As New SqlClient.SqlDataAdapter
Dim db As New DB
connection.ConnectionString = ("Data Source=" & My.Computer.Name & ";Initial Catalog=moory;Integrated Security=True")
Dim con = connection.ConnectionString
Dim sql As String
Try
connection.Open()
If CBool(Me.DataGridView1.CurrentRow.Cells(7).Value) = True Then
sql = "UPDATE tblperson SET per_chek = 1 "
Dim cmd As New SqlCommand(sql, connection)
cmd.ExecuteNonQuery()
Else
sql = "UPDATE tblperson SET per_chek = 0 "
Dim cmd As New SqlCommand(sql, connection)
cmd.ExecuteNonQuery()
End If
MsgBox("Updated")
connection.Close()
Catch
End Try
End Sub
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
نه باتن نمیخواد !! وقتی ادیت یه سلول توی دیتاگرید تموم میشه این سابروتین اجرا میشه !! ولی منظورت از اینکه اعمال نشد اینه که ارور برمیگردونه یا توی جدول درست ادیت نمیکنه؟؟
اگه حالت دوم اتفاق میافته که اشکال از کوِِِِئری که میفرستی هستش!! (اون قسمت where رو حذف کردی)
.CommandText = "UPDATE tblperson Set per_check = @per_check WHERE ID = @id "
.AddWithValue("@id", Int(DataGridView1.CurrentRow.Cells(0).Value))
این دوتا خط رو درست کن تو کدت .
اگه هم که برنامت ارور بر میگردونه که عکس بذار اینجا که اساتید بیان نظر بدن .
پ.ن : شرمنده !! اطلا حواسم نبود تو تالار وی بی هستم !! واسه همین سی شارپ گذاشتم :دی
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
مهندستشکر می کنم
کد شما به دروستی کار می کنه
اما تغییراتی بر چک باکس که bit می باشد اعمال نمی کنه یعنی باید عدد 0 برای غیر فعال یا 1 برای فعال بودن رو ارسال کند که انجام نمی دهد
ارور نمیده فقط روی ردیف آخر تغییر اعمال می شند که متاسفانه برای تمامی چک باکس های اون ستون اعمال می شود
با این کد اصلاً کار نکرد
Dim i As Integer = 0
Try
connection.Open()
For i = 0 To Me.DataGridView1.RowCount - 1
Dim rowID = Me.DataGridView1.Rows(i).Cells(0).Value
If CBool(Me.DataGridView1.Rows(i).Cells(7).Value) = True Then
sql = "UPDATE tblperson SET per_chek = 1 ID = '" & rowID & "' """
Dim cmd As New SqlCommand(sql, connection)
cmd.ExecuteNonQuery()
Else
sql = "UPDATE tblperson SET per_chek = 0 ID = '" & rowID & "' """
Dim cmd As New SqlCommand(sql, connection)
cmd.ExecuteNonQuery()
End If
Next
MsgBox("Updated")
connection.Close()
Catch
End Try
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
خب اگه کد من درست کار کرده پس این همه کده جدید چرا نوشتی اخه ؟:متعجب:
بعد مشکلت که همه رو اپدیت میکنه به خاطر اینه که WHERE نداره کوئریت . بعدشم اگه از پارامتر استفاده کنی بهتره . اگه هم نمیخوای کوئریت باید این باشه :
"UPDATE tblperson Set per_check = 0 WHERE ID = '" & rowID & "' "
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
مهندس می خوام فقط چک باکس ها با تیک خوردن یا تیکشن رو ورداشتم مقدار بگیره اونم با اعداد 0 یا 1
http://up.vbiran.ir/images/zks56zfme1v1mtn7izi.jpg
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
خیلی کارای عجیب و غریب انجام میدی :لبخند:
فقط با 0 و 1 باید باشه با True و False نمیشه؟
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
نقل قول:
نوشته شده توسط
headshoter
خیلی کارای عجیب و غریب انجام میدی :لبخند:
فقط با 0 و 1 باید باشه با True و False نمیشه؟
چرا اونم میشه :گریه:
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
این دیگه قاعدتا باید کار کنه !! البته اگه با 10 تا خط کد دیگه قاطی نشه !!!!!!!
Private Sub DataGridView1_CellEndEdit(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) _
Handles DataGridView1.CellEndEdit
Dim cmd As New SqlCommand
Dim cnn As New SqlConnection
cnn.ConnectionString = "Data Source=" & My.Computer.Name & ";Initial Catalog=moory;Integrated Security=True"
With cmd
.Connection = cnn
.CommandText = "UPDATE tblperson Set per_chek= @chbox Where ID = @id"
If (cnn.State = ConnectionState.Closed) Then
cnn.Open()
End If
With .Parameters
.Clear()
.AddWithValue("@chbox", Convert.ToBoolean(DataGridView1.CurrentRow.Cells(7 ).Value))
.AddWithValue("@id", Int(DataGridView1.CurrentRow.Cells(0).Value))
End With
.ExecuteNonQuery()
End With
cnn.Close()
End Sub
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
-
1 ضمیمه
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
سلام ، این نمونه برنامه رو واست نوشتم کارت رو راه میندازه.توضیحات داخل پروژه داده شده.
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
ممنونم سر کارو من فقط مقدار دهی به چک باکس ها هستش حالا با عدد (0,1) یا (true,false )
http://up.vbiran.ir/images/zks56zfme1v1mtn7izi.jpg
در حال حاضر کد خودم داره جواب میده اما مشکلی اصلی من این هستش روی ردیف آخر جواب میده فقط تک تک ردیف هامو نمی تونه update کنه
باگ کد هم اینه با تیک خوردن یا نخوردن چک باکس ستون آخر همه رو با مقدار اون مقدار دهی می کنه
Private Sub DataGridView1_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _
Handles DataGridView1.CellEndEdit
Dim command As New SqlClient.SqlCommand
Dim connection As New SqlClient.SqlConnection
Dim adaptor As New SqlClient.SqlDataAdapter
Dim db As New DB
connection.ConnectionString = ("Data Source=" & My.Computer.Name & ";Initial Catalog=moory;Integrated Security=True")
Dim con = connection.ConnectionString
Dim sql As String
Try
connection.Open()
If CBool(Me.DataGridView1.CurrentRow.Cells(7).Value) = True Then
sql = "UPDATE tblperson SET per_chek = 1 "
Dim cmd As New SqlCommand(sql, connection)
cmd.ExecuteNonQuery()
Else
sql = "UPDATE tblperson SET per_chek = 0 "
Dim cmd As New SqlCommand(sql, connection)
cmd.ExecuteNonQuery()
End If
MsgBox("Updated")
connection.Close()
Catch
End Try
End Sub
-
1 ضمیمه
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
دستور sql شما اشکال داره این باعث میشه همه ی سطر ها رو ویرایش کنه باید Where رو هم بهش اضافه کنید.
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
اضافه کردم حالا هیچ عملی انجام نمیده
لطف می کنید برای sql نمونه کار بدید گیج شدم این چند روز انقدر کد دیدم
Try
connection.Open()
For i = 0 To Me.DataGridView1.RowCount - 1
Dim rowID = Me.DataGridView1.Rows(i).Cells(0).Value
If CBool(Me.DataGridView1.CurrentRow.Cells(7).Value) = True Then
sql = "UPDATE tblperson SET per_chek = 1 WHERE ID = '" & rowID & "' """
Dim cmd As New SqlCommand(sql, connection)
cmd.ExecuteNonQuery()
Else
sql = "UPDATE tblperson SET per_chek = 0 WHERE ID = '" & rowID & "' """
Dim cmd As New SqlCommand(sql, connection)
cmd.ExecuteNonQuery()
End If
Next
MsgBox("Updated")
connection.Close()
Catch
End Try
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
دوست عزیز ، من داخل Access نوع ستونی که True یا false رو داخلش ذخیره میکنم رو Yes/no تعریف کردم شما در sql میتونین نوع این ستون رو bit در نظر بگیرین ، ویژوال استودیو خودش به صورت اتومات ستون مورد نظر رو به صورت CheckBox نشون میده و میتونین از دستورات مشابهی که واستون نوشتم استفاده کنید
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
خب اون ارور احتمال 99% واسه اینه که شما توی فیلد ID تو اس کیو ال تون سطر اول رو بهش مقدار ندادید !!
رو فیلد ID کلیک راست کن بعد Set as primary key رو بزن براش !! بعدش هم به همه سطرهای ID باید مقدار بدی !! type فیلد ID هم باید int باشه !! امیدوارم جواب بده !!!!!!!
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
نمونه پروژه قبلی با کد sql
(( چون حجمش بالای 500 بود مجبور شدم داخل یک سرور دیگه آپلود کنم))
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
سلام
من با کد نویسی وی بی دات نت ی دیتاگرید دارم که هنگام لود اطلاعات پیش فرش (4ستون شناسه و نام و نام خانوادگی و نام پدر) رو نشون میده
سه عدد چک باکس هم روی فرم دارم که هر کدوم مربوط به ی ستون هست هنگامی که این سه تا چک باکس تیک دار میکنم به دیتاگرید ستون ها اضافه میشه
ولی وقتی تیک بردارم با اینکه کد تغییر کرده و اون ستون رو سلکت نمی کنه دیتای اون حذف میشه ولی ستون حذف شده در دیتا گرید باقی می مونه البته خالی از دیتا فقط اسم ستون هست
حالت اول
http://s6.uplod.ir/i/00857/zxfzqd73xtbp.png
حالت دوم
http://s6.uplod.ir/i/00857/sgfkj6jp73xj.png
-
2 ضمیمه
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview
-
نقل قول: فعال یا غیر فعال کردن اطلاع نمایش از دیتابس در سایر datagridview