PDA

View Full Version : سوال: جستجو در datagridview



morteza10878
دوشنبه 24 اسفند 1388, 22:37 عصر
با سلام
من با این کد جستجو میکنم و مقدارو در داخل textbox میریزم اما چطوری میشه وقتی که مثلا من کاراکتر (م ) را وارد میکنم (البته اطلاعات داخل بانکم ذو قبلا وارد grid کردم ) کلیه نامهایی که اول انها با (م ) شروع میشود را در grid نمایش دهد و به همین صورت تا اخر ادامه پیدا کند تا کلمه مورد نظر پیدا شود
ممنون میشم اگر کدی دارید در اختیارم بذارید


Dim con As New SqlConnection
con.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\karim.mdf;Integrated Security=True;User Instance=True"
Dim com As New SqlCommand
com.Connection = con
con.Open()
com.CommandText = "select * from k where name like '" + TextBox6.Text + "%'"
Dim reader As SqlDataReader = com.ExecuteReader
reader.Read()
TextBox2.Text = (reader.GetString(1))
TextBox3.Text = (reader.GetString(2))
TextBox4.Text = (reader.GetString(3))
TextBox5.Text = (reader.GetString(4))
con.Close()
End Sub

MahmoudiNik
دوشنبه 24 اسفند 1388, 22:51 عصر
سلام
برای اینکه جستجوی کارکتر بای کارکتر داشته باشید میتونید از یک Dataview که تو toolbox هستش استفاده کنید و اونرو به یک دیتا ست متصلش کنید و بعد به datagrid نصبتش بدید و برای نمایش اطلاعات استفاده کنید.
برای جستجو هم میتونید تو خاصیت textchanged مربوط به تکست باکس از این کد استفاده کنید:



DataView1.RowFilter = "name like '" & txtname.Text & "%'"


اگر بازهم مشکلی بود بگین تا بیشتر توضیح بدم

morteza10878
دوشنبه 24 اسفند 1388, 23:36 عصر
دوست عزیز میخوام از dataview استفاده نکنم مستقیما میخوام با وارد کردن کاراکتر در textbox اطلاعات داخل gird عوض بشه
الان به این صورت تغییر دادم اما نشد نمیدونم مشکل کجاست


Private Sub TextBox6_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox6.TextChanged
Dim con As New SqlConnection
con.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\karim.mdf;Integrated Security=True;User Instance=True"
Dim dta As New SqlDataAdapter("select * from k where name like '" + TextBox6.Text + "%'", con)
ds = New DataSet
dta.Fill(ds, "k")
datagridview1.AutoGenerateColumns = True
datagridview1.DataSource = "k"
End Sub

kebriya
سه شنبه 25 اسفند 1388, 08:33 صبح
من اینکارو اینجوری انجام میدم که در form load اول ds رو ست میکنم بعد کد زیر رو مینویسم تا datagridview رو بایند کنه



DataGridView1.DataBindings.Add(New Binding("datasource", ds, "tblname"))

اگه میخوای یه نمونه واست بذارم

Maram284558
سه شنبه 25 اسفند 1388, 08:45 صبح
Imports System.Data

Imports System.Data.OleDb

Public Shared CN As New OleDbConnection

Public Shared CMDAs New OleDbCommand
Public Shared Adapter1 As New OleDbDataAdapter

"برقراري ارتباط با ديتا بيس"
DS=NEW DATASET
"عنوان فيلد " HAVING"نام جدول" CMD.CommandText = "SELECT * FROM
(( "' & Like '" & TxtSearch.Text & "%'))

Adapter1.SelectCommand = CMD
(Adapter1.Fill(DS
(DataGridView.DataSource = DS.Tables(0

morteza10878
سه شنبه 25 اسفند 1388, 13:27 عصر
با سلام
من با این کد جستجو میکنم و مقدارو در داخل textbox میریزم اما چطوری میشه وقتی که مثلا من کاراکتر (م ) را وارد میکنم (البته اطلاعات داخل بانکم ذو قبلا وارد grid کردم ) کلیه نامهایی که اول انها با (م ) شروع میشود را در grid نمایش دهد و به همین صورت تا اخر ادامه پیدا کند تا کلمه مورد نظر پیدا شود
ممنون میشم اگر کدی دارید در اختیارم بذارید

kebriya
پنج شنبه 27 اسفند 1388, 08:49 صبح
این فایل رو ببینید بر اساس فیلد lname اینکارو میکنه، هم فارسی هم انگلیسی تست شده
راستی بانکش هم که میدونی باید attach کنی:لبخند:

morteza10878
پنج شنبه 27 اسفند 1388, 21:34 عصر
با سلام به دوست عزیز ممنون زحمت کشیدین
اما فایل رو attach کردم و این پیغام خطا رو میده

karim orooji
شنبه 29 اسفند 1388, 19:31 عصر
دوست عزیز این کمکت میکنه

http://barnamenevis.org/forum/attachment.php?attachmentid=43695&d=1265459383

ali_ahr7
سه شنبه 17 فروردین 1389, 01:24 صبح
سلام در رويداد keypress تكست باكست دستوران جناب maram رو بنويس.