ขอวิธีการเอาข้อมูลจาก gridview ลงไปอีกตารางหนึ่งหน่อยครับ
ผมบอกแต่คอนเซปนะครับ
เมื่อกดเลือก ก็ สร้าง dataTable ขึ้นมา 1 ตัว แล้วทำการ newrow datatable แล้วทำการ ใส่ข้อมูลรายการที่เลือก ลงไปใน dataTable
จากนั้น ก็เอาไป bind กับ Gridview
ถ้ามีการเลือกมากกว่า 1 ให้เก็บ DataTable ตัวนี้เป็น session ก่อน แล้วเอา session DataTable ไป bind กับ Gridview แทน
อะไรประมาณหละครับ ลองดูครับ
Date :
2011-07-19 17:16:49
By :
nong1210
ใช่ครับ จะต้องใช้ Session + DataTable ครับ ผมมีตัวอย่างให้ดูครับ
Code (VB.NET)
Dim objConn As New System.Data.OleDb.OleDbConnection
Dim objCmd As New System.Data.OleDb.OleDbCommand
Dim dtAdapter As New System.Data.OleDb.OleDbDataAdapter
Dim ds As New DataSet
Dim dt As DataTable
Dim strConnString,strSQL As String
strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("database/mydatabase.mdb")&";Jet OLEDB:Database Password=;"
strSQL = "SELECT * FROM customer"
objConn.ConnectionString = strConnString
With objCmd
.Connection = objConn
.CommandText = strSQL
.CommandType = CommandType.Text
End With
dtAdapter.SelectCommand = objCmd
dtAdapter.Fill(ds)
dt = ds.Tables(0)
Session("mySession") = dt
dtAdapter = Nothing
objConn.Close()
objConn = Nothing
'*** BindData to Control ***'
Dim dt2 As DataTable
dt2 = Session("mySession")
IF Not IsNothing(Session("mySession")) Then
Me.myDataGrid.DataSource = dt2
Me.myDataGrid.DataBind()
End IF
Go to : ASP.NET - Session (DataSet and DataTable)
Go to : ASP.NET System.Data.OleDb - DataTable()
Date :
2011-07-19 17:40:07
By :
webmaster
การเพิ่ม Row ใน DataTable ครับ
Code (VB.NET)
Dim dt As New DataTable
Dim dr As DataRow
'*** Column ***'
dt.Columns.Add("CustomerID")
dt.Columns.Add("Name")
dt.Columns.Add("Email")
dt.Columns.Add("CountryCode")
dt.Columns.Add("Budget")
dt.Columns.Add("Used")
'*** Rows ***'
dr = dt.NewRow
dr("CustomerID") = "C001"
dr("Name") = "Win Weerachai"
dr("Email") = "[email protected] "
dr("CountryCode") = "TH"
dr("Budget") = "1000000"
dr("Used") = "600000"
dt.Rows.Add(dr)
Session("SessionDt") = dt
การเพิ่มตัวแปร Session และ Row ของ DataTable
Code (VB.NET)
Dim dt As DataTable = Session("SessionDt")
Dim dr As DataRow
'*** Rows ***'
dr = dt.NewRow
dr("CustomerID") = "xxxx"
dr("Name") = "xxxx"
dr("Email") = "xxxxxxxx"
dr("CountryCode") = "TH"
dr("Budget") = "1000000"
dr("Used") = "600000"
dt.Rows.Add(dr)
Session("SessionDt") = dt
เอาตัวแปร dt ไปโยนใน DataSource ของ GridView ได้เลยครับ
Date :
2011-07-19 17:42:31
By :
webmaster
ขอบคุณมากมายเลยครับ
Date :
2011-07-19 18:39:58
By :
ไฟฟ้า
อีกตัวอย่างครับ
การ Create DataTable ครับ
Code (VB.NET)
Dim dt As New DataTable
Dim dr As DataRow
'*** Column ***'
dt.Columns.Add("CustomerID")
dt.Columns.Add("Name")
dt.Columns.Add("Email")
dt.Columns.Add("CountryCode")
dt.Columns.Add("Budget")
dt.Columns.Add("Used")
'*** Rows ***'
dr = dt.NewRow
dr("CustomerID") = "C001"
dr("Name") = "Win Weerachai"
dr("Email") = "[email protected] "
dr("CountryCode") = "TH"
dr("Budget") = "1000000"
dr("Used") = "600000"
dt.Rows.Add(dr)
Session("myCart") = dt
แต่ถ้าต้องการเพิ่มตำแหน่งใน Session ของ DataTable ก็ไม่ยากครับ
Code (VB.NET)
Dim dt As DataTable = CType(Session("myCart"),DataTable)
Dim dr As DataRow
'*** Rows ***'
dr = dt.NewRow
dr("CustomerID") = "C003"
dr("Name") = "Tony Stark"
dr("Email") = "[email protected] "
dr("CountryCode") = "US"
dr("Budget") = "3000000"
dr("Used") = "600000"
dt.Rows.Add(dr)
Session("myCart") = dt
สามารถนำ Session ไปยัดลง DataSource ของ GridView ได้เลยครับ
Code (VB.NET)
Me.GridView.DataSource = CType(Session("myCart"),DataTable)
Me.DataBid()
Date :
2011-07-19 20:19:34
By :
webmaster
Load balance : Server 05