Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > ได้สร้าง DataGridView 2 ตาราง ในฟอร์มเดียว แต่ติดอยู่ที่ DataGridView2 โดยต้องการให้จำนวนเปลี่ยนแปลงในทันทีตอนมีการยืมสินค้า ควรทำยังไงดี?



 

ได้สร้าง DataGridView 2 ตาราง ในฟอร์มเดียว แต่ติดอยู่ที่ DataGridView2 โดยต้องการให้จำนวนเปลี่ยนแปลงในทันทีตอนมีการยืมสินค้า ควรทำยังไงดี?

 



Topic : 118716



โพสกระทู้ ( 216 )
บทความ ( 0 )



สถานะออฟไลน์




ได้สร้างdatagridview 2ตาราง ในฟอร์มเดียว
โดยdatagridview1 เกี่ยวกับการโชว์จำนวนสินค้าคงเหลือ และdatagridview2เกี่ยวกับประวัติการยืมสินค้า

ซึ่งการทำงานคือเมื่อมีการยืมสินค้าลงในdatagridview1 จะทำให้จำนวนสินค้าคงเหลือลงลดในdatagridview2ด้วย โดยจำนวนมันจะเปลี่ยนแปลงให้เห็นในทันที
แต่ปัญหาคือ จำนวนมันไม่เปลี่ยนแปลงให้เห็นในทันที ปล.แต่ในฐานข้อมูลมันเปลี่ยนน่ะ

อยากทราบว่าต้องเพิ่มอะไร

อันนี้เป็นโค้ดทั้งหมดของฟอร์มนี้

Code (VB.NET)
Imports System.Data.OleDb
Imports System.Data
Imports System.DateTime
Public Class Form2

    Private Sub Form2_Move(sender As Object, e As EventArgs) Handles MyBase.Move
        If Not (Me.Location.X = 0 And Me.Location.Y = 0) Then
            Me.Location = New Point(0, 0)
        End If
    End Sub

    Dim con As New OleDbConnection
    Dim ds As New DataSet
    Dim dt As New DataTable
    

    Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.CheckedChanged
        Try
            If Not con.State = ConnectionState.Open Then
                'open connection
                con.Open()
            End If
            Dim da As New OleDbDataAdapter
            Dim dt As New DataTable
            Dim ds As New DataSet
            da = New OleDbDataAdapter("SELECT * FROM Stock1", con)
            da.Fill(dt)

            DataGridView2.DataSource = dt.DefaultView

            DataGridView2.Columns(0).Visible = True
            DataGridView2.Columns(1).Visible = True
            DataGridView2.Columns(2).Visible = False
            DataGridView2.Columns(3).Visible = False
            DataGridView2.Columns(4).Visible = True
            DataGridView2.Columns(5).Visible = False
            DataGridView2.Columns(6).Visible = False
            DataGridView2.Columns.Item(0).Width = 150
            DataGridView2.Columns.Item(1).Width = 80
            DataGridView2.Columns.Item(4).Width = 80
            DataGridView2.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            DataGridView2.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
            DataGridView2.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            DataGridView2.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter



            con.Close()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
        End Try
    End Sub
    Private Sub RefreshData()
        If Not con.State = ConnectionState.Open Then
            'open connection
            con.Open()
        End If
        Dim da As New OleDbDataAdapter("SELECT * FROM Tb_History ORDER BY ID", con)


        Dim dt As New DataTable
        'fill data to datatable
        da.Fill(dt)

        'offer data in data table into datagridview
        Me.DataGridView1.DataSource = dt

        'close connection
        con.Close()

    End Sub
    Private Sub add_Click(sender As Object, e As EventArgs) Handles add.Click

        Try

            Dim cmd As New OleDbCommand
            If Not con.State = ConnectionState.Open Then
                'open connection
                con.Open()
            End If

            cmd.Connection = con

            If semat.Text = "" Then
                MessageBox.Show("กรุณาเลือกวัสดุฝึก")
                Me.semat.Focus()
                Exit Sub
            End If
            If txtnum.Text = "" Then
                MessageBox.Show("กรุณากรอกจำนวนที่เบิก")
                Me.txtnum.Focus()
                Exit Sub
            End If
            If txtna1.Text = "" Then
                MessageBox.Show("กรุณากรอกชื่อผู้เบิก")
                Me.txtna1.Focus()
                Exit Sub
            End If

            If txtna2.Text = "" Then
                MessageBox.Show("กรุณากรอกชื่อผู้จ่าย")
                Me.txtna2.Focus()
                Exit Sub
            End If
            If txtdate.Text = "" Then
                MessageBox.Show("กรุณาเลือกวันเดือนปี")
                Me.txtdate.Focus()
                Exit Sub
            End If


            'check whether add new or update
            If Me.semat.Tag & "" = "" Then
                'add new
                'add data to table

                cmd.CommandText = " INSERT INTO Tb_History(His_product, His_number, His_student, His_teacher, His_date, His_time)" & _
                                  " VALUES ('" & Me.semat.Text & "'," & Me.txtnum.Text & ",'" & _
                                  Me.txtna1.Text & "','" & Me.txtna2.Text & "','" & Me.txtdate.Text & "','" & _
                                 Me.txttime.Text & "')"
                cmd.ExecuteNonQuery()

            Else
                'update data in table
                cmd.CommandText = "Update Tb_History SET " & _
                                " His_product= '" & Me.semat.Text & "' " & _
                                " ,His_number=" & Me.txtnum.Text & _
                                " ,His_student= '" & Me.txtna1.Text & "' " & _
                                " ,His_teacher= '" & Me.txtna2.Text & "' " & _
                                " ,His_date= '" & Me.txtdate.Text & "' " & _
                                " ,His_time= '" & Me.txttime.Text & "' " & _
                                " WHERE ID_Product= " & Me.semat.Tag
                cmd.ExecuteNonQuery()
            End If


            'refresh data in list
            RefreshData()


            'close connection
            con.Close()
            MessageBox.Show("บันทึกลงตารางเรียบร้อยแล้ว")
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
        End Try
    End Sub

    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        con = New OleDbConnection
        con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\admim\Documents\ฐานข้อมูล5.accdb"
        Me.RefreshData()
        DataGridView1.Columns.Item(0).Width = 70
        DataGridView1.Columns.Item(1).Width = 150
        DataGridView1.Columns.Item(2).Width = 90
        DataGridView1.Columns.Item(3).Width = 150
        DataGridView1.Columns.Item(4).Width = 150
        DataGridView1.Columns.Item(5).Width = 90
        DataGridView1.Columns.Item(6).Width = 90
        DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        DataGridView1.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        DataGridView1.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
        DataGridView1.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        DataGridView1.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        DataGridView1.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        DataGridView1.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        DataGridView1.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
    End Sub

    Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

    End Sub

    Private Sub semat_SelectedIndexChanged(sender As Object, e As EventArgs) Handles semat.SelectedIndexChanged

    End Sub

    Private Sub txttime_TextChanged(sender As Object, e As EventArgs) Handles txttime.TextChanged
        Dim detdate As Date
        detdate = Now
        txttime.Text = detdate.ToLongTimeString
    End Sub

    Private Sub clear_Click(sender As Object, e As EventArgs) Handles clear.Click
        For Each row As DataGridViewRow In DataGridView1.SelectedRows
            If row.Index <> DataGridView1.Rows.Count Then
                Me.DataGridView1.SelectedRows(0).Cells(0).Value.ToString()
                DataGridView1.Rows.RemoveAt(row.Index)
            End If
        Next





    End Sub

    Private Sub delete_Click(sender As Object, e As EventArgs) Handles delete.Click
        'check for the selected item in list
        If MessageBox.Show("คุณต้องการลบข้อมูลบรรทัดนั้ใช่หรือไม่ ?", "ยืนยันการลบข้อมูล", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = Windows.Forms.DialogResult.Yes Then
            If DataGridView1.Rows.Count > 0 Then
                If DataGridView1.SelectedRows.Count > 0 Then
                    Dim intsid As Integer = Me.DataGridView1.SelectedRows(0).Cells(0).Value
                    'open connnection
                    If Not con.State = ConnectionState.Open Then
                        con.Open()
                    End If
                    'delete date
                    Dim cmd As New OleDbCommand
                    cmd.Connection = con
                    cmd.CommandText = "DELETE FROM Tb_History WHERE ID =" & intsid
                    cmd.ExecuteNonQuery()

                    'refresh data
                    Me.RefreshData()

                    'close connection
                    con.Close()
                    MsgBox("ทำการลบข้อมูลเรียบร้อย")
                End If
            End If
        End If
    End Sub

    Private Sub RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton2.CheckedChanged
        Try
            If Not con.State = ConnectionState.Open Then
                'open connection
                con.Open()
            End If
            Dim da1 As New OleDbDataAdapter
            Dim dt1 As New DataTable
            Dim ds1 As New DataSet
            da1 = New OleDbDataAdapter("SELECT * FROM Stock2", con)

            da1.Fill(dt1)
            DataGridView2.DataSource = dt1.DefaultView

            DataGridView2.Columns(0).Visible = True
            DataGridView2.Columns(1).Visible = True
            DataGridView2.Columns(2).Visible = False
            DataGridView2.Columns(3).Visible = False
            DataGridView2.Columns(4).Visible = True
            DataGridView2.Columns(5).Visible = False
            DataGridView2.Columns(6).Visible = False
            DataGridView2.Columns.Item(0).Width = 150
            DataGridView2.Columns.Item(1).Width = 80
            DataGridView2.Columns.Item(4).Width = 80
            DataGridView2.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            DataGridView2.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
            DataGridView2.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            DataGridView2.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

            con.Close()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
        End Try
    End Sub

    Private Sub RadioButton3_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton3.CheckedChanged
        Try
            If Not con.State = ConnectionState.Open Then
                'open connection
                con.Open()
            End If
            Dim da1 As New OleDbDataAdapter
            Dim dt1 As New DataTable
            Dim ds1 As New DataSet
            da1 = New OleDbDataAdapter("SELECT * FROM Stock3", con)

            da1.Fill(dt1)
            DataGridView2.DataSource = dt1.DefaultView

            DataGridView2.Columns(0).Visible = True
            DataGridView2.Columns(1).Visible = True
            DataGridView2.Columns(2).Visible = False
            DataGridView2.Columns(3).Visible = False
            DataGridView2.Columns(4).Visible = True
            DataGridView2.Columns(5).Visible = False
            DataGridView2.Columns(6).Visible = False
            DataGridView2.Columns.Item(0).Width = 150
            DataGridView2.Columns.Item(1).Width = 80
            DataGridView2.Columns.Item(4).Width = 80
            DataGridView2.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            DataGridView2.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
            DataGridView2.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
            DataGridView2.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

            con.Close()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
        End Try
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs)
        semat.Text = ""
        txtnum.Text = ""
        txtna1.Text = ""
        txtna2.Text = ""
        txtdate.Text = ""
        txttime.Text = ""
        Me.semat.Focus()

    End Sub
End Class




Tag : .NET, Ms Access, VB.NET, VS 2012 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-09-04 10:05:13 By : peemes101 View : 4342 Reply : 20
 

 

No. 1



โพสกระทู้ ( 317 )
บทความ ( 0 )



สถานะออฟไลน์


Code
DataGridView2.DataSource = null
DataGridView2.DataSource = dt1.DefaultView


ลองใส่ค่า NUll ให้มันก่อนที่จะเอา Datasource ไปใส่ค่าให้คัรบ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-04 10:17:05 By : Freedom
 


 

No. 2



โพสกระทู้ ( 216 )
บทความ ( 0 )



สถานะออฟไลน์


ตรงNull มันขึ้นว่า "null" is not declared


ประวัติการแก้ไข
2015-09-04 15:22:56
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-04 15:21:55 By : peemes101
 

 

No. 3

Guest


ลองเปลี่ยนเป็น Nothing ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-04 15:58:34 By : Mi
 


 

No. 4



โพสกระทู้ ( 317 )
บทความ ( 0 )



สถานะออฟไลน์


DataGridView2.DataSource = Nothing




น่าจะเป็น Nothing นะครับ ใน VB.NET
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-04 16:01:39 By : Freedom
 


 

No. 5



โพสกระทู้ ( 216 )
บทความ ( 0 )



สถานะออฟไลน์


ก็ยังไม่เปลียนแปลงให้เห็นในทันที
โดยถ้าเลือกradio button 1 อยู่แล้วมีการยืมมันก็ยังไม่เปลียนแปลงให้เห็นในทันที
และจากนั้นลองไปคลิกที่radio button 2แล้วกลับมาคลิกที่radio button 1 ค่าจะเปลี่ยนแปลงให้เห็น


ประวัติการแก้ไข
2015-09-04 17:02:33
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-04 16:57:37 By : peemes101
 


 

No. 6

Guest


สงสัยน่าจะไม่มีการรีข้อมูลหลังจากบันทึกข้อมูลลงฐานแล้ว ผมเห็นโค้ดคุณแล้วตาลายเลยครับผมว่าทำเป็นซับอันไหนซ้ำๆกัน
ใส่ซับแล้วเรียกใช้ โค้ดน่าจะน้อยลงไปเยอะเลยครับ ผมลองเขียนฟังชันสดลองเอาไปใช้นะครับ

ปล.โค้ดยังไม่รัน ไม่รู้เออเรอร์ป่าว

Code (VB.NET)
Function Reload(TableName As String, OleCon As OleDbConnection) As DataTable
        Dim dt As New DataTable
        Dim dtap As New OleDbDataAdapter("SELECT * FROM " & TableName, OleCon)
        dtap.Fill(dt)
        Return dt
End Function



วิธีใช้ประมาณนี้ครับ

Code (VB.NET)
DataGridView2.DataSource = Reload("TableName", OleDbConnection)


หรือส่วนไหนที่จะเอาข้อมูลจากฐานมาลง DataTable ก็ใช้ได้นะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-04 19:52:40 By : Mi
 


 

No. 7



โพสกระทู้ ( 216 )
บทความ ( 0 )



สถานะออฟไลน์


ไว้ทำแล้วจะมาบอก
เพราะตอนนี้การ์ดจอโน๊ตบฺุ๊ตเสีย
แล้วโค้ดที่2เอาไปใส่แทนnothingหรีือป่าว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-05 23:59:36 By : peemes101
 


 

No. 8



โพสกระทู้ ( 216 )
บทความ ( 0 )



สถานะออฟไลน์


มันก็ยังไม่เปลี่ยนแปลงในทันทีหลังจากกดปุ่มบันทึกลงฐานข้อมูล



Code (VB.NET)
Function Reload1(Stock1 As String, con As OleDbConnection) As DataTable
        Dim dt As New DataTable
        Dim da As New OleDbDataAdapter("SELECT * FROM " & Stock1, con)
        da.Fill(dt)
        Return dt
    End Function


และ

Code (VB.NET)
  DataGridView2.DataSource = Reload1("Stock1", con)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-12 21:12:26 By : peemes101
 


 

No. 9



โพสกระทู้ ( 216 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่มีวิธีอี่นแล้วหรอที่ทำให้datagridviewเปลี่ยนแปลงทันที
หลังจากกดปุ่มบันที
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-15 18:01:29 By : peemes101
 


 

No. 10



โพสกระทู้ ( 317 )
บทความ ( 0 )



สถานะออฟไลน์


ข้อมูลที่มีการ Update กะ Insert เป็นของตาราง Tb_History แล้วตรง Select ข้อมูลมาแสดงผลตรง GridView2 เป็น ตาราง Stock แบบนี้ข้อมูลมันก็ไม่เปลี่ยนอะครับ หรือผมเข้าใจผิด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-16 10:24:54 By : Freedom
 


 

No. 11



โพสกระทู้ ( 216 )
บทความ ( 0 )



สถานะออฟไลน์


มันใช้datagridview2ตาราง
โดยdatagridview1เป็นของtb-History เพื่อทำการAdd,delete,Edit
ส่วนdatagridview2เป็นของStock 1,2 และ3 โดยเลือกคลิกดูจาก radiobutton เพื่อแสดงยอดคงเหลือหลังจากAddหรือ deleteเสร็จแล้ว
ก็จะทำให้datagridview2นี้เปลี่ยนแปลงจำนวนทันที


ประวัติการแก้ไข
2015-09-17 03:47:38
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-16 18:52:46 By : peemes101
 


 

No. 12



โพสกระทู้ ( 317 )
บทความ ( 0 )



สถานะออฟไลน์


ลองใช้วิธีนี้ดูคับ เอาโตค้ดชุดนี้ไปวางใน Refresh Data นะคัรบ ท้ายสุด


Code (VB.NET)
        If RadioButton3.Checked Then
            RadioButton3_CheckedChanged(Nothing, Nothing)
        End If
        If RadioButton2.Checked Then
            RadioButton2_CheckedChanged(Nothing, Nothing)
        End If
        If RadioButton1.Checked Then
            RadioButton1_CheckedChanged(Nothing, Nothing)
        End If

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-17 08:35:43 By : Freedom
 


 

No. 13



โพสกระทู้ ( 216 )
บทความ ( 0 )



สถานะออฟไลน์


ทำได้แล้ว ต้องขอบคุณคุณ Freedom มากๆ
แต่ อยากถามว่า
1.ทำไมถึงใส่โค้ดนี้แล้วถึงเปลี่ยนแปลงได้ทันที เพราะหาคำตอบมานานมาก


ประวัติการแก้ไข
2015-09-17 17:35:29
2015-09-17 17:55:02
2015-09-17 19:11:44
2015-09-17 23:26:24
2015-09-18 12:11:23
2015-09-18 16:41:37
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-17 16:14:07 By : peemes101
 


 

No. 14



โพสกระทู้ ( 216 )
บทความ ( 0 )



สถานะออฟไลน์


และ2.ปุ่มที่ชื่อ clear คือ อยากให้มันลบแถวในdatagridview โดยที่ฐานข้อมูลไม่หาย

ซึ่งมันก็ลบได้ แต่พอรันใหม่ มันกลับขึ้นมาใหม่อีก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-18 16:42:21 By : peemes101
 


 

No. 15



โพสกระทู้ ( 317 )
บทความ ( 0 )



สถานะออฟไลน์


ขอตอบแค่ ข้อแรกนะครับ ข้อ 2 ว่างๆ จะมาตอบให้ครับ

หลักการ ไม่มีไรมากครับ เมื่อมีการ Save เสร็จ ก็ให้โลหดข้อมูลมาแสดงผลอีกครั้ง แค่นั้นเองคัรบ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-18 16:57:52 By : Freedom
 


 

No. 16



โพสกระทู้ ( 216 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากที่ตอบข้อ1
แต่อยากให้มาตอบข้อ2ไวๆ เพราะอยากรู้ว่าต้องเขียนเพิ่มอย่างไร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-18 22:05:33 By : peemes101
 


 

No. 17



โพสกระทู้ ( 317 )
บทความ ( 0 )



สถานะออฟไลน์


ก็ยัง งงๆ อยู่คัรบ เพราะว่า ถ้าเราเครียร์ข้อมูล แต่ไม่ลบในฐานข้อมูล ถ้าโลหดขึ้นมาก็ต้องดึงข้อมูลที่อยู่ใน Base มาแสดงอยู่แล้วครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-21 08:57:29 By : Freedom
 


 

No. 18



โพสกระทู้ ( 216 )
บทความ ( 0 )



สถานะออฟไลน์


คือที่ต้องการเคลียร์ข้อมูลในdatagridviewเพราะไม่อยากให้มันมีเยอะๆ เลยอยากจะเคลียร์ให้มันว่างๆ โดยข้อมูลในdatabaseก็ยังอยู่

ถ้าเป็นอย่างที่คุณFreedom บอก ก็ไม่สามารถทำได้ เพราะถึงจะเคลียร์ได้ แต่มันเชื่อมกับdatabaseอยู่ ดังนั้นเมื่อรันโปรแกรม มันก็ยังจะดึงข้อมูลในdatabaseมาโชว์อยู่ดี เราเข้าใจถูกมั้ย

แต่เห็นมีคนบอกว่า ต้องเคลียร์ในdatatable ก่อน แล้วbindข้อมูลใหม่ อะไรประมาณนี้ มันสามารถทำได้หรือป่าว


ประวัติการแก้ไข
2015-09-21 14:17:34
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-21 14:12:43 By : peemes101
 


 

No. 19



โพสกระทู้ ( 317 )
บทความ ( 0 )



สถานะออฟไลน์


มันเครีย์ได้ แต่ข้อมูล Database ไม่หาย มันเครียร์ได้ชั่วคราวคัรบ คือเครียร์ แล้วเปิดโปรแกรมมาใหม่ มันก็โลหดมายุดีนั่นแหละคัรบ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-22 10:59:23 By : Freedom
 


 

No. 20



โพสกระทู้ ( 4,436 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ไม่ลองเอาหน้าฟอร์ม กับ ค้อนแซบ มาดูหน่อยครับว่าเป็นยังไง

ไม่งั้นผมแหวกแนวนิด

datagrid ไม่ต้องผูกกับ database
แต่ให้สร้าง datatable เพื่อมาตอบโจทย์ที่ติดๆไว้
datagrid นี้มมันจะไม่เปลี่ยนเมื่อ database แต่จะเปลี่ยนหรือจะให้โชว์ตามที่เราต้องการได้ครับ

ส่วนการ รีเฟช datagrid เหมือนเราเรียก dataset มาใหม่มันก็ได้แล้วครับ

Code (VB.NET)
Public Function GetTableForm(connectionString As String, _SQL As String) As System.Data.DataTable
        Dim ds As New System.Data.DataSet()
        Dim conn1 As New System.Data.OleDb.OleDbConnection(connectionString)
        conn1.Open()
        Dim adapter1 As New System.Data.OleDb.OleDbDataAdapter(_SQL, conn1)
        adapter1.Fill(ds)
        Return ds.Tables(0)

    End Function


Code (VB.NET)
DataGridView1.DataSource= GetTableForm("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=X:\DATA\CONTACT.mdb;Persist Security Info=True;Jet OLEDB:Database Password=4410210091", "SELECT Name_1 FROM tblContact_Companyslist)


ผมใช้ประมาณนี้ครับทุกครั้งที่ Insert/Update Database เรียบร้อยแล้ว


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-22 11:20:18 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ได้สร้าง DataGridView 2 ตาราง ในฟอร์มเดียว แต่ติดอยู่ที่ DataGridView2 โดยต้องการให้จำนวนเปลี่ยนแปลงในทันทีตอนมีการยืมสินค้า ควรทำยังไงดี?
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่