PDA

View Full Version : سوال: مشکل در حدفوویرایش و درج در گرایدویو



a_123123123123
دوشنبه 20 تیر 1390, 01:56 صبح
من یه فرمی دارم که توش یه گراید ویو هستش که میخوام توش سه تا دکمه delete و edit و update بذارم از نوع button
ویک پنل که توش تکست باکس ها قرار داشته باشن که وقتی کاربر روی دکمه update یا insert کلیک مکنم اون پانل ظاهر شه و با توجه با اون دکمه ای که انتخاب کرده عملیات درج و یا ویرایش انجام شه

و بتونه سطر یا سطرهای موردنظر خودش رو انتخاب کنه و با کلیک بر روی دکمه حذف اونارو حذف کنه

این کدی هستش که خودم تا اینجا نوشتم

.Dim con AsNew SqlConnection("Data Source=JAHANFARDA-PC\SQLEXPRESS;Initial Catalog=jf;Integrated Security=True")
Dim com As SqlCommand
Dim str AsString
Dim bool AsBoolean
Dim ds As DataSet
Sub grid_load()
Dim cmd AsNew SqlCommand("SELECT * FROM tbl_class", con)
cmd.Parameters.Clear()
Dim dt AsNew DataTable()
Try
If con.State = System.Data.ConnectionState.Closed Then
con.Open()
EndIf
dt.Load(cmd.ExecuteReader())
grid_user.DataSource = dt
grid_user.DataBind()
Catch ex As Exception
lblMessage.Text = ex.Message
Finally
cmd.Dispose()
con.Close()
EndTry
EndSub
ProtectedSub grid_user_SelectedIndexChanged(ByVal sender AsObject, ByVal e As System.EventArgs) Handles grid_user.SelectedIndexChanged
lblMessage.Text = ""
If grid_user.SelectedIndex = -1 Then
Panel1.Visible = False
Return
EndIf
selectinfo()

EndSub
ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load
IfNot IsPostBack Then
grid_load()
EndIf
EndSub
PrivateSub selectinfo()
Dim cmd AsNew SqlCommand("select * from tbl_class where id=@id", con)
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@id", grid_user.SelectedDataKey.Value)
Dim reader As SqlDataReader = Nothing
Try
If con.State = system.Data.ConnectionState.Closed Then
con.Open()
EndIf
reader = cmd.ExecuteReader(system.Data.CommandBehavior.Sing leRow)
If reader.HasRows Then
reader.Read()
txt_courcecode.Text = reader.GetString(3)
txt_courcename.Text = reader.GetString(4)
txt_groupcode.Text = reader.GetString(5)
drop_sex.Text = reader.GetString(14)
txt_zarfiyat.Text = reader.GetString(12)
txt_startclassdate.Text = reader.GetString(6)
txt_endclassdate.Text = reader.GetString(7)
txt_week.Text = reader.GetString(8)
txt_startclasstime.Text = reader.GetString(9)
txt_timeexam.Text = reader.GetString(10)
txt_dateexam.Text = reader.GetString(11)
txt_price.Text = reader.GetString(13)
EndIf
Panel1.Visible = True
Catch ex As Exception
lblMessage.Text = ex.Message
Panel1.Visible = False
Finally
If reader IsNotNothingThen
reader.Close()
EndIf
cmd.Dispose()
con.Close()
EndTry
EndSub
ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As system.EventArgs) Handles Button1.Click
ForEach item As Control In Panel1.Controls
If item.GetType().Equals(GetType(TextBox)) AndAlsoString.IsNullOrEmpty((CType(item, TextBox)).Text) Then
lblMessage.Text = "Please Fill All TextBox"
ExitFor
EndIf
Next item


Dim cmd AsNew SqlCommand("update tbl_class set id=@id,courcecode=@courcecode,courcename=@courcena me,groupcode=@groupcode,startclassdate=@startclass date,endclassdate=@endclassdate,week=@week,startcl asstime=@startclasstime,dateexam=@dateexam,timeexa m=@timeexam,zarfiyat=@zarfiyat,price=@price,sex=@s ex where id=@id", con)
cmd.Parameters.Clear()
cmd.Parameters.AddWithValue("@id", grid_user.SelectedDataKey.Value)
cmd.Parameters.AddWithValue("@courcecode", txt_courcecode.Text)
cmd.Parameters.AddWithValue("@courcename", txt_courcename.Text)
cmd.Parameters.AddWithValue("@groupcode", txt_groupcode.Text)
cmd.Parameters.AddWithValue("@zarfiyat", txt_zarfiyat.Text)
cmd.Parameters.AddWithValue("@sex", drop_sex.Text)
cmd.Parameters.AddWithValue("@startclassdate", txt_startclassdate.Text)
cmd.Parameters.AddWithValue("@endclassdate", txt_endclassdate.Text)
cmd.Parameters.AddWithValue("@week", txt_week.Text)
cmd.Parameters.AddWithValue("@startclasstime", txt_startclasstime.Text)
cmd.Parameters.AddWithValue("@dateexam", txt_dateexam.Text)
cmd.Parameters.AddWithValue("@timeexam", txt_timeexam.Text)
cmd.Parameters.AddWithValue("@price", txt_price.Text)
Try
If con.State = System.Data.ConnectionState.Closed Then
con.Open()
EndIf
cmd.ExecuteNonQuery()
Panel1.Visible = False
grid_load()
lblMessage.Text = " "
Catch ex As Exception
lblMessage.Text = ex.Message
Panel1.Visible = True
Finally
cmd.Dispose()
con.Close()
EndTry
EndSub
ProtectedSub grid_user_PageIndexChanging(ByVal sender AsObject, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles grid_user.PageIndexChanging
Dim dta AsNew SqlDataAdapter("select * from tbl_class ", con)
Dim ds AsNew DataSet
ds.Clear()
dta.Fill(ds, "tbl_class")
grid_user.PageIndex = e.NewPageIndex
grid_user.DataSource = ds
grid_user.DataBind()
' ViewState("PageIndex") = e.NewPageIndex.ToString()
con.Close()
EndSub



ProtectedSub grid_user_RowDeleting(ByVal sender AsObject, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles grid_user.RowDeleting
Dim rowEdit As GridViewRow = grid_user.Rows(e.RowIndex)
Dim com AsNew SqlCommand
Dim int_number AsString = CType(rowEdit.FindControl("lit_number"), Literal).Text
Dim str_aks AsString = String.Empty
con.Open()
com.Connection = con
com.CommandText = "select * from tbl_class where id ='" & int_number & "'"
Dim reader As SqlDataReader = com.ExecuteReader
If reader.HasRows = TrueThen
reader.Read()
EndIf
con.Close()
com.Connection = con
com.CommandText = "delete from tbl_class where id= '" & int_number & "'"
Try
con.Open()
com.ExecuteNonQuery()
Catch ex As SqlException
Response.Write(ex.Message.ToString())
Finally
If con.State <> ConnectionState.Closed Then con.Close()
If (Not com IsNothing) Then com.Dispose()
grid_load()
EndTry
EndSub
EndClass
Imports Microsoft.VisualBasicلطفا بگید بقیه اش رو چیکار کنم
:لبخندساده: