ورود

View Full Version : سفارشی کردن گرید ویو



desinger2007
چهارشنبه 02 آبان 1386, 10:10 صبح
چطور می توان در محیط ویژوال وب 2005 به زبان vb به یه gridview دکمه جستجو که از یه textbox ورودی می گیره ودر آن جستجو کنه و نتایج رو در همون گرید نشون بده (البته امکان پرینت هم که داشته باشه دیگه عالیه ) اضافه کرد ?همین طور برای اینکه وقتی دکمه حذف فشار داده شد عبارت ایا حذف شود یا نه ظاهر شود؟
همین طور دکمه اضافه کردن یه رکورد در گرید ؟
و بالاخره شماره صفحات درگرید نشان داده شود

alinaghiha
چهارشنبه 02 آبان 1386, 23:45 عصر
برای جستجوی و نمایش فقط رکوردهایی که با کلمات وارد شده در Text box آغاز شدن در رویداد textchange بنویس


PrivateSub txt_karmand_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_karmand.TextChanged, txt_karmand.Enter
Dim str AsString = txt_karmand.Text
Dim fillstr AsString
If str = ""Then
fillstr = "select * from Karmandan"
Else
fillstr = "select * from Karmandan Where Name like '" + str + "%'"
EndIf
Dim Karmandoledbdataadapter AsNew OleDbDataAdapter(fillstr, con)
dataset.Clear()
con.Open()
Karmandoledbdataadapter.Fill(dataset, "Karmandan")
DGKarmand.DataSource = dataset.Tables("Karmandan")
con.Close()
EndSub

alinaghiha
چهارشنبه 02 آبان 1386, 23:47 عصر
اینم کد حذف همراه تاییدیه کاربر


If MessageBox.Show("آیا نسبت به حذف مددجوی فعلی مطمئن هستید", "اخطار", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Dim con AsNew OleDbConnection(connection)
Dim command AsNew OleDbCommand("delete from maddadjo where code=@code", con)
con.Open()
command.Parameters.Add(New OleDbParameter("@code", OleDbType.Char, 10)).Value = madadjolist_frm.maddajoDG.CurrentRow.Cells(0).Valu e
command.ExecuteNonQuery()
Dim oledbdataadapter AsNew OleDbDataAdapter("select * from maddadjo", con)
Dim dataset AsNew DataSet
oledbdataadapter.Fill(dataset, "maddadjo")
madadjolist_frm.maddajoDG.DataSource = dataset.Tables("maddadjo")
con.Close()
EndIf

khz-web1
چهارشنبه 02 آبان 1386, 23:55 عصر
میشه کد اولی رو توضیح بدید

alinaghiha
پنج شنبه 03 آبان 1386, 14:16 عصر
کد فقط متغیر con در کد دوم رو کم داره
با هر تغییری که داخل Textbox انجام میشه gridview با استفاده از دستو Select به روز رسانی میشه مثلا من کاربر می خواد کارمن علی رحمانی رو پیدا کنه با نوشتن کلمه ع همه اونهایی که اول اسمشون ع هستش داخل دیتا گرید ویو قرار میگیرن و در ادامه با وارد کردن هر کلید این اتفاق تکرار میشه
اگه بهینه شده این کد رو داری برام بذار ممنون میشم

desinger2007
شنبه 05 آبان 1386, 10:32 صبح
سلام من کد شما رو داخل رویداد textchange برنامه خودم تست کردم ولی خطا گرفت

Both DataSource and DataSourceID are defined on 'GridView1'. Remove one definition

من به جای DGKarmand.DataSource نام گرید ویو خودم gridview1.datasource رو قرار دادم
لطفا بیشتر راهنمایی کنید این کد جایگزین من هست

ProtectedSub TextBox1_TextChanged(ByVal sender AsObject, ByVal e As System.EventArgs)
Dim Con AsString
Con = "Provider=Microsoft.Jet.OLEDB.4.0;"
Con &= "Data Source=" & Server.MapPath("bank/neg.mdb")
Dim Conn AsNew OleDbConnection(Con)
Dim str AsString = TextBox1.Text
Dim fillstr AsString
If str = ""Then
fillstr = "select * from sefareshweb"
Else
fillstr = "select * from sefareshweb Where Name like '" + str + "%'"
EndIf
Dim Karmandoledbdataadapter AsNew OleDbDataAdapter(fillstr, Conn)
Dim dataset AsNew DataSet
DataSet.Clear()
Conn.Open()
Karmandoledbdataadapter.Fill(DataSet, "sefareshweb")
GridView1.DataSource = DataSet.Tables("sefareshweb")
Conn.Close()
EndSub

babak23
شنبه 05 آبان 1386, 12:36 عصر
برای جستجوی و نمایش فقط رکوردهایی که با کلمات وارد شده در Text box آغاز شدن در رویداد textchange بنویس

نوشتن کد در رویداد textchange فکر نکنم منطقی باشه چون با هر بار تعقیر متن داخل تکست باکس یک دستور select اجرا میشه و این یعنی فاجعه
این روش جزو اصول برنامه نویسی نیست.

ir_programmer
شنبه 05 آبان 1386, 14:01 عصر
کدتون رو با یک دکمه یا enter همراه کنید. اگر هم حتما میخاین همزمان فیلتر بشه حتما اول کدتون مقدار قبلی textbox رو چک کنین که اگر شبیه مقدار فعلی بود اجرا نشه. :چشمک:

alinaghiha
شنبه 05 آبان 1386, 22:13 عصر
نوشتن کد در رویداد textchange فکر نکنم منطقی باشه چون با هر بار تعقیر متن داخل تکست باکس یک دستور select اجرا میشه و این یعنی فاجعه
این روش جزو اصول برنامه نویسی نیست.
مهندس خودتون می دونید من تازه کارم
خوشحال میشم همشهریامون کمک کنند
من Enter رو برا فرم بعدی بکار بردم با اینتر بد میشه اصلا
من یه دیکشنری کار آقای رستمی رو دیدم تعداد رکوردهای خیلی زیادی هم داشت

alinaghiha
شنبه 05 آبان 1386, 22:17 عصر
سلام من کد شما رو داخل رویداد textchange برنامه خودم تست کردم ولی خطا گرفت

Both DataSource and DataSourceID are defined on 'GridView1'. Remove one definition

من به جای DGKarmand.DataSource نام گرید ویو خودم gridview1.datasource رو قرار دادم
لطفا بیشتر راهنمایی کنید این کد جایگزین من هست
من از این خطا سر در نمیارم اما کانکشنم رو اینطوری می سازم


Public connection AsString = "provider=microsoft.jet.oledb.4.0;data source=c:\rajaeidb.mdb"


البته بخاطر تو ما‍ژول بودن عمومیه چون داخل بیشتر فرمام استفاده می کنم

babak23
سه شنبه 08 آبان 1386, 08:18 صبح
چطور می توان در محیط ویژوال وب 2005 به زبان vb به یه gridview دکمه جستجو که از یه textbox ورودی می گیره ودر آن جستجو کنه و نتایج رو در همون گرید نشون بده (البته امکان پرینت هم که داشته باشه دیگه عالیه ) اضافه کرد ?همین طور برای اینکه وقتی دکمه حذف فشار داده شد عبارت ایا حذف شود یا نه ظاهر شود؟
همین طور دکمه اضافه کردن یه رکورد در گرید ؟
و بالاخره شماره صفحات درگرید نشان داده شود

خواسته های شما کلی هست . برای انجام این کار ها نیاز به مطالعه بیشتری دارید.
برای موارد جزئی میتوانید سوال های خودتان را مطرح کنید.