View Full Version : Transferring values from datagrid to a form
Mitsuki
05-24-2006, 05:37 PM
Hi ..
I need some help in this please.
I have a datagrid which has a hyperlink Colum ... I want the user when he clicks on it to transfer him to a page with details about what he pressed ..
<asp:HyperLinkColumn Text="Edit" DataNavigateUrlField="ItemNo" DataNavigateUrlFormatString="ItemsDetails.aspx?ItemNo" DataTextField="ItemNo" HeaderText="Settings"></asp:HyperLinkColumn>
This works but now what should I do in the other page to retreive the values I want from the datagrid ..?
SWI03
05-24-2006, 07:42 PM
Are you just viewing or editing the data?
But to get the ItemNo from the query string on the detail page you want to have a variable
Dim strItemNo As String = Request.QueryString("ItemNo")
Then you can query the database to get the information for that particular ItemNo.
Mitsuki
05-24-2006, 08:17 PM
This is my code ..
Am I on the right way?
Public Sub Page_Load(Source As Object, E As EventArgs)
If Session("txtUserName") <> "" then
'session exists
lblWelcome.text = "Welcome " & Session("txtUserName")
Else
' session doesnt exists, redirect to login page if u want to
Response.redirect("Login.aspx")
End If
Dim objConnection As OleDBConnection
Dim objCommand As OleDBCommand
Dim objAdapter As OleDBDataAdapter
Dim objDataSet As DataSet
Dim dr As DataRow
Dim strOleDBQuery As String
Dim ItemNo As Integer
objConnection = New OleDBConnection ("Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\Inetpub\wwwroot\HASEM_sys\HASEM_sys.mdb")
If Not Page.IsPostBack Then
ItemNo = CInt(Request.QueryString("ItemNo"))
objDataSet = New DataSet()
objCommand = New OleDBCommand("tblItems", objConnection)
objCommand.CommandType = CommandType.StoredProcedure
objCommand.Parameters.Add("@ItemNo", DbType.Int32).Value = ItemNo
objAdapter = New OleDBDataAdapter(objCommand)
objConnection.Open()
objAdapter.Fill(objDataSet, "tblItems")
dr = objDataSet.Tables("tblItems").Rows(0)
txtItemNo.Text = dr("ItemNo")
txtItemNm.Text = dr("ItemName")
txtStatus.Text = dr("Status")
objConnection.Close()
End if
End Sub
Private sub btnClose_Click(sender As Object, e As EventArgs)
If Session("txtUserName") = "admin" then
Response.Redirect("Admin_main.aspx")
Else
Response.Redirect("main.aspx")
End if
End Sub
Sub btnSave_Click(sender As Object, e As EventArgs)
Dim ItemName as String
Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\Inetpub\wwwr"& _
"oot\HASEM_sys\HASEM_sys.mdb"
Dim dbConnection As System.Data.IDbConnection = New System.Data.OleDb.OleDbConnection(connectionString)
Dim queryString As String = "INSERT INTO [tblBF] ([Failure], [Date], [ItemName]) VALUES (@ItemName)"
Dim dbCommand As System.Data.IDbCommand = New System.Data.OleDb.OleDbCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim dbParam_itemName As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
dbParam_itemName.ParameterName = "@ItemName"
dbParam_itemName.Value = ItemName
dbParam_itemName.DbType = System.Data.DbType.String
dbCommand.Parameters.Add(dbParam_itemName)
Dim rowsAffected As Integer = 0
dbConnection.Open
Try
rowsAffected = dbCommand.ExecuteNonQuery
Finally
dbConnection.Close
End Try
End Sub
SWI03
05-25-2006, 03:01 AM
I do not see where you used a select statement unless you are using a stored procedure?
Is the data not filling the textboxes?
instead of using a datarow, just fill the dataadapter like you have and try this for your textboxes and see if that displays the info in the textboxes for you.
txtItemNo.Text = DataBinder.Eval(objDataSet, "Tables[tblItems].DefaultView.[0].ItemNo")
txtItemNm.Text = DataBinder.Eval(objDataSet, "Tables[tblItems].DefaultView.[0].ItemName")
txtStatus.Text = DataBinder.Eval(objDataSet, "Tables[tblItems].DefaultView.[0].Status")
Also for your insert statement are you putting information into a different table or just updating the table information you are editing?
Mitsuki
05-25-2006, 11:07 AM
Am putting it in another table ...
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.