PDA

View Full Version : datagridview چطوری پاک میشه



Afshin160
سه شنبه 27 فروردین 1387, 00:22 صبح
سلام دوستان........
من در برنامه ام یه dataadabter , dataset , dataconection را new کردم و دیتابیس را از طریق دیتاست به datagridview وصل کردم ....
حالا احتیاج دارم در بعضی جاها مثل datagrid.clear عمل کنم ولی نمدونم جطور این کارو انجام بدم ... :عصبانی++:


لطفا کمکم کنید......... کمک کمک کمک

بابا یکی کمک کنه .....:متفکر::متفکر:

Dariuosh
سه شنبه 27 فروردین 1387, 08:12 صبح
Me.DataGridView1.Rows.Clear()
Me.DataGridView1.Columns.Clear()

Afshin160
سه شنبه 27 فروردین 1387, 09:42 صبح
سلام داریوش جان ....
دستت درد نکنه ولی پیغام خطا میده ... که نمیتونم پاک کنم.




پیام خطا:

System.ArgumentException was unhandled


سورس برنامه ام به صورت زیر است :

لطفا کمکم کنید...


Public Class Form1:

Shared OleDbConnection As System.Data.OleDb.OleDbConnection
Shared AddressBookDataAdapter As System.Data.OleDb.OleDbDataAdapter
Const strconnection As String = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=c:\tel.mdb"
Public objconnection As New OleDbConnection(strconnection)
Dim objdataset As New DataSet
Dim strsqlforgrid As String = "SELECT tel.CompanyName, tel.DIRECTOR, tel.TELEPHONE, tel.Fax, tel.ADDRESS, tel.DESCRIPTION FROM tel;"
'Dim strsqlforgrid As String = "SELECT * FROM tel;"
Dim objdataadapter As New OleDbDataAdapter(strsqlforgrid, objconnection)

‘***********************************
Private Sub Form1_Load:

objconnection.Open()

‘*********************************


Private Sub cmdsearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsearchcompany.Click

Dim sql As String
sql = "SELECT tel.CompanyName, tel.DIRECTOR, tel.TELEPHONE, tel.Fax, tel.ADDRESS, tel.DESCRIPTION FROM tel where tel.CompanyName like "
sql = sql & "'%" & TxtCN.Text & "%';"
'sql = sql & " or tel.DIRECTOR like "
'sql = sql & "'%" & txtDI.Text & "%';"
Dim objdataadapter As New OleDbDataAdapter(sql, objconnection)
objdataadapter.Fill(objdataset, "tel")



DataGridView1.DataSource = objdataset
DataGridView1.DataMember = "tel"

DataGridView1.Columns(0).HeaderText = "نام شرکت"
DataGridView1.Columns(1).HeaderText = "نامدیر عامل"
DataGridView1.Columns(2).HeaderText = "تلفن"
DataGridView1.Columns(3).HeaderText = "فکس"
DataGridView1.Columns(4).HeaderText = "آدرس"
DataGridView1.Columns(5).HeaderText = "توضیحات"
Me.DataGridView1.Rows.Clear()
Me.DataGridView1.Columns.Clear()
End sub




اینم سورس کامل خطا:





پیام خطا:

System.ArgumentException was unhandled

Message="Cannot clear this list."

Source="System.Data"

StackTrace:

at System.Data.DataView.System.Collections.IList.Clea r()

at System.Windows.Forms.DataGridViewRowCollection.Cle ar()

at TElcompany.Form1.Button3_Click(Object sender, EventArgs e) in D:\project Pictuer\Programming VB.net\2005\ALL Version TELcompany\TElcompany-ok\TElcompany\Forms\Form1.vb:line 303

at System.Windows.Forms.Control.OnClick(EventArgs e)

at System.Windows.Forms.Button.OnClick(EventArgs e)

at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)

at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

at System.Windows.Forms.Control.WndProc(Message& m)

at System.Windows.Forms.ButtonBase.WndProc(Message& m)

at System.Windows.Forms.Button.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)

at System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

at System.Windows.Forms.UnsafeNativeMethods.DispatchM essageW(MSG& msg)

at System.Windows.Forms.Application.ComponentManager. System.Windows.Forms.UnsafeNativeMethods.IMsoCompo nentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)

at System.Windows.Forms.Application.ThreadContext.Run MessageLoopInner(Int32 reason, ApplicationContext context)

at System.Windows.Forms.Application.ThreadContext.Run MessageLoop(Int32 reason, ApplicationContext context)

at System.Windows.Forms.Application.Run(ApplicationCo ntext context)

at Microsoft.VisualBasic.ApplicationServices.WindowsF ormsApplicationBase.OnRun()

at Microsoft.VisualBasic.ApplicationServices.WindowsF ormsApplicationBase.DoApplicationModel()

at Microsoft.VisualBasic.ApplicationServices.WindowsF ormsApplicationBase.Run(String[] commandLine)

at TElcompany.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81

at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)

at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)

at Microsoft.VisualStudio.HostingProcess.HostProc.Run UsersAssembly()

at System.Threading.ThreadHelper.ThreadStart_Context( Object state)

at System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state)

at System.Threading.ThreadHelper.ThreadStart()

Cannot clear this list.

Dariuosh
سه شنبه 27 فروردین 1387, 09:55 صبح
خوب اول کدهاتو یه تگ کد بزار که قابل فهم شه آخه اینطوری سه سال طول میکشه بفهمی دنیا دست کیه!!:لبخندساده:

Afshin160
سه شنبه 27 فروردین 1387, 11:30 صبح
سلام ...

داریوش جان به خدا بلد نیستم...
وگرنه همین کارو میکردم ...
اگه لطف کنی یادم بدی که خوبه...
شرمنده...
تازه کاریم دیگه:خجالت::خجالت::خجالت:

gdevnb
سه شنبه 27 فروردین 1387, 12:07 عصر
دیتاسورس مربوط به دیتاگریدتو null کن احتمالاً حل میشه.
برای اضافه کردن تگ کد متن مورد نظرت رو انتخاب کن
بعد روی علامت # در تول بار ادیتور کلیک کن.
موفق باشید.

mohammad-gh
سه شنبه 27 فروردین 1387, 12:14 عصر
شما که دیتا ست بایند کردی باید هم خطا بده
برای پاک کردن دیتا گرید بایستی دیتا ست یا دیتا تیبل را پاک کنی
کد :
datasetname.clear

Afshin160
سه شنبه 27 فروردین 1387, 16:13 عصر
سلام از تمام دوستانی که در این تاپیک شرکت کردن کمال تشکر را دارم ...
من مشکلم با این سه کد حل شد. **** حل شده ***



datasetname.clear()
Me.DataGridView1.Rows.Clear()
Me.DataGridView1.Columns.Clear()

reza6384
سه شنبه 27 فروردین 1387, 23:35 عصر
سلام. من برای پاک کردن DataGridView از کد زیر استفاده می کنم،گرچه ممکنه زیاد اصولی نباشه :



Sub ClearDataGridView(ByRef DGV As DataGridView)
Dim Temp AsNew DataSet
DGV.DataSource = Temp
EndSub

gdevnb
سه شنبه 27 فروردین 1387, 23:59 عصر
سلام. من برای پاک کردن DataGridView از کد زیر استفاده می کنم،گرچه ممکنه زیاد اصولی نباشه :



Sub ClearDataGridView(ByRef DGV As DataGridView)
Dim Temp AsNew DataSet
DGV.DataSource = Temp
EndSub

اینو امتحان کن

DGV.DataSource = null;

reza6384
چهارشنبه 28 فروردین 1387, 00:28 صبح
اینو امتحان کن

DGV.DataSource = null;

امتحان کردم، نمی شه.

اگر بنویسی



DGV.DataSource =Null


این Error رو میده :

Null Constant is no longer supported,use System.DbNull Instead

و وقتی می نویسی :




DGV1.DataSource = System.DBNull


این Error رو میده :

'DBNull' is a type in 'System' and cannot be used as an