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 > Dataset สามารถเคลียร์ค่าได้ไหมครับ มีวิธีการอย่างไรบ้างครับ



 

Dataset สามารถเคลียร์ค่าได้ไหมครับ มีวิธีการอย่างไรบ้างครับ

 



Topic : 112691



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



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




ผมกดเพิ่มข้อมูล ผมก็จะเอา Dataset มาผูกแบบนี้

Code (VB.NET)
     ds = BindDS()
        With DataGridView1
            .DataSource = ds.Tables("TableName")
            .AutoGenerateColumns = False
        End With


พอปิดเพจ ผมจะใส่

Datagridview.Datasource.Clear()

มันกลายเป็นสแตกข้อมูลมาเพิ่มครับ

เลยอยากรู้ว่า จะเคลียร์ Dataset ยังไงครับ



Tag : .NET, Ms SQL Server 2005, VS 2005 (.NET 2.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-11-20 11:40:40 By : nameball View : 2597 Reply : 23
 

 

No. 1



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



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

Code (C#)
sub SetGrid()
Datagridview.Datasource =null
ds = BindDS()
   With DataGridView1
       .DataSource = ds.Tables("TableName")
       .AutoGenerateColumns = False
   End With
end sub







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


 

No. 2



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



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


close() มันก็เคลียร์ แล้วไม่ใช่เหรอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 12:03:17 By : Chaidhanan
 

 

No. 3



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



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

ขอโทษครับ
ผมหา Datagridview.Datasource.Clear() ไม่เจอ
มันต้องเพิ่มตัวไหนเข้ามาป่าวครับ
ผมเจอแต่แบบนี้อ่า
Company_PositionDataGridView.DataBindings.Clear()
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 12:27:34 By : lamaka.tor
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-20 12:27:34
รายละเอียดของการตอบ ::
ใช่ครับ Datagridview.Datasource.Clear() จะไม่มีให้ แต่มันก็เคลียร์นะครับ ใช้ได้ แต่ยังติดตรง Dataset เหมือนเดิม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 12:57:58 By : nameball
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-11-20 12:03:17
รายละเอียดของการตอบ ::
มันเคลียร์ครับ

ผมใส่ ตรงเหตุการณ์ ก่อนปิดฟอร์มครับ ถ้ากด Messagebox=vbok
ให้ Datagridview.Datasource.Clear() ครับ

แต่พอโหลดฟอร์มมาให้ ค่าที่มี มันสแตคเพิ่มมาเป็น 2 เท่าครับ

สมมติว่า ก่อนปิดฟอร์ม ข้อมูลใน Datagridview มีทั้งหมด 2 row (ผมใช้การรีเฟรช Datagridview โดยการใช้ Dataset ครับ เรียกข้อมูลทั้งหมดมาแสดงใหม่ใน datagridview ในกรณีที่มีการเพิ่มครับ เพื่อให้เห็นว่า มีการเพิ่มข้อมูลแล้ว)

พอเปิดมาใหม่ มันก็จะ มี 4 row ครับ เหมือนมันเคลียร์แต่ Datasource ของ Datatable ครับ

Code (VB.NET)
        conn.Open()
        cm = conn.CreateCommand()
        With cm
            .CommandText = "SELECT * FROM GoodsExport ORDER BY rec_no"
            .CommandType = CommandType.Text
        End With
        da = New SqlDataAdapter(cm)
        da.Fill(dt)
        conn.Close()

        DataGridView1.DataSource = dt


โค้ดส่วนข้างบนนี้เป็นโค้ดส่วนแสดงผลใน Datagridview เมื่อ PageLoad ครับ

Datagridview.Datasource.Clear() มันเคลียร์แค่ส่วนนี้ครับ







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:06:25 By : nameball
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-11-20 12:03:17
รายละเอียดของการตอบ ::
ขอโทดครับ ผมอ่านเป็น .clear() ฮ่าๆๆ

.close ก็ไม่เคลีย์อ่าครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:08:52 By : nameball
 


 

No. 7



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



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


ลองเพิ่ม
dt = new datatable
ก่อน
da.Fill(dt)
ดูครับ เผื่อได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:17:43 By : fonfire
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : fonfire เมื่อวันที่ 2014-11-20 13:17:43
รายละเอียดของการตอบ ::
Code (VB.NET)
Dim dt As New DataTable


ผมประกาศไว้ข้างบนสุดแล้วอ่าครับ



ประวัติการแก้ไข
2014-11-20 13:20:57
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:20:24 By : nameball
 


 

No. 9



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



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


งั้นเพิ่ม
messagebox.show(dt.rows.count)
เข้าไปแทนได้ไหมครับ
จะได้รู้ว่าข้อมูลมันได้มาเพิ่มจริง ๆ

-------------------
ds = BindDS()
With DataGridView1
.DataSource = ds.Tables("TableName")
.AutoGenerateColumns = False
End With

ขอดูโค้ด BindDS เต็ม ๆ ได้ไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:28:09 By : fonfire
 


 

No. 10



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



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


ขั้นตอนการทำงานนะครับ

ผมคลิกที่ปุ่ม

111

จะเห็นว่ามีข้อมูลเก่าครับ

22

นี่คือโค้ดที่เรียกมาแสดงเมื่อเปิดฟอร์ม

Code (VB.NET)
Private Sub showDatagridview1()

        conn.Open()
        cm = conn.CreateCommand()
        With cm
            .CommandText = "SELECT * FROM GoodsExport ORDER BY rec_no"
            .CommandType = CommandType.Text
        End With
        da = New SqlDataAdapter(cm)
        da.Fill(dt)
        conn.Close()

        DataGridView1.DataSource = dt
        DataGridView1.Columns.Clear()

        Dim col As DataGridViewTextBoxColumn

        col = New DataGridViewTextBoxColumn()
        With col
            .DataPropertyName = "rec_no"
            .HeaderText = "  ลำดับ"
            .Width = "100"
        End With
        DataGridView1.Columns.Add(col)

        col = New DataGridViewTextBoxColumn()
        With col
            .DataPropertyName = "dates"
            .HeaderText = "  วันที่จำหน่าย"
            .Width = "150"
        End With
        DataGridView1.Columns.Add(col)

        col = New DataGridViewTextBoxColumn()
        With col
            .DataPropertyName = "goodsID"
            .HeaderText = "  รหัสครุภัณฑ์"
            .Width = "150"
        End With
        DataGridView1.Columns.Add(col)

        col = New DataGridViewTextBoxColumn()
        With col
            .DataPropertyName = "goodsName"
            .HeaderText = "  ชื่อ"
            .Width = "150"
        End With
        DataGridView1.Columns.Add(col)

        col = New DataGridViewTextBoxColumn()
        With col
            .DataPropertyName = "barcode"
            .HeaderText = "   บาร์โค้ด"
            .Width = "150"
        End With
        DataGridView1.Columns.Add(col)

        col = New DataGridViewTextBoxColumn()
        With col
            .DataPropertyName = "goodsModel"
            .HeaderText = "  ยี่ห้อ/รุ่น"
            .Width = "150"
        End With
        DataGridView1.Columns.Add(col)

        col = New DataGridViewTextBoxColumn()
        With col
            .DataPropertyName = "goodsDetail"
            .HeaderText = "  รายละเอียด"
            .Width = "150"
        End With
        DataGridView1.Columns.Add(col)

        col = New DataGridViewTextBoxColumn()
        With col
            .DataPropertyName = "room"
            .HeaderText = "  ห้อง"
            .Width = "150"
        End With
        DataGridView1.Columns.Add(col)

        col = New DataGridViewTextBoxColumn()
        With col
            .DataPropertyName = "amountExport"
            .HeaderText = "  จำนวนจำหน่าย"
            .Width = "150"
        End With
        DataGridView1.Columns.Add(col)


    End Sub  'โชว์ข้อมูลใน Datagridview1


ผมกดปิดฟอร์มครับ แล้วเปิดฟอร์มมาใหม่ ข้อมูลยังเป็นปกติครับ

Code (VB.NET)
 If MessageBox.Show("กลับหน้าหลัก ใช่หรือไม่ ?", "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.Yes Then
            DataGridView1.DataSource.Clear()
            Me.Close()
        End If



333

คราวนี้ผมลองเพิ่มครับ เพิ่มได้ครับ การเรียกข้อมูลมาแสดงคือผ่าน Dataset

Code (VB.NET)
    ds = BindDataExport()
        With DataGridView1
            .DataSource = ds.Tables("GoodsExport")
            .AutoGenerateColumns = False
        End With


ผมกดปิดฟอร์มครับ




44
^
^
นี่คือรูปตอนที่เปิดฟอร์มมาใหม่อีกทีนะครับ

จะเห็นว่ามีข้อมูลออกมา 2 ชุด โดยชุดที่ขีดขั้นไว้ข้างบน จะเห็นจำนวนเร็คคอร์ดที่ 141

ส่วนขีดล่างจะเห็นที่เร็คคอร์ด 142 ครับ (142 คือเร็คคอร์ดใหม่ที่เพิ่งเพิ่มเข้าไป)


พอผมกดปิดฟอร์มอีกที่ แล้วเปิดขึ้นมาใหม่ ก็จะขึ้นเหมือนภาพที่ 2 ครับ


ฟอร์มหลักผมคือ frmHome ส่วนฟอร์มนี้คือ frmExport ครับ

frmExport ถูกเปิดโดยใช้คำสั่ง Showdialog() ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:38:13 By : nameball
 


 

No. 11



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



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

โทษทีผมเพิ่งกลับมาไปหัด VB ยุปกติใช้ C#
Code (C#)
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        DataGridView1.DataSource = Getdata("SELECT * FROM dbo.Company_Position", "Data Source=192.168.6.204,1433;Initial Catalog=BASE;User ID=LAMAKA.TOR;Password=*******").DefaultView()

    End Sub
    Function Getdata(sql As String, connstring As String) As DataTable
        Dim ds As System.Data.DataSet = New DataSet()
        Dim adapter As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(sql, connstring)
        adapter.Fill(ds)
        Return ds.Tables(0)
    End Function


แบบนี้พอได้ป่ะครับผมไม่ค่อยเหมือนใครชอบ return function เอา
ประเด็นคือแค่อยาก รีเฟชดาต้าเฉยๆรึอย่างอื่นด้วยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:39:47 By : lamaka.tor
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : fonfire เมื่อวันที่ 2014-11-20 13:28:09
รายละเอียดของการตอบ ::
นี่ครับ ผมประกาศไว้ใน Module

Code (VB.NET)
    Public Function BindDataExport() As DataSet
        strcon = "select * from GoodsExport order by rec_no"
        ds = New DataSet
        da = New SqlDataAdapter(strcon, conn)
        da.Fill(ds, "GoodsExport")
        Return ds
    End Function


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:40:47 By : nameball
 


 

No. 13



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-20 13:39:47
รายละเอียดของการตอบ ::
Code (VB.NET)
    Public Function BindDataExport() As DataSet
        strcon = "select * from GoodsExport order by rec_no"
        ds = New DataSet
        da = New SqlDataAdapter(strcon, conn)
        da.Fill(ds, "GoodsExport")
        Return ds
    End Function


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:42:41 By : nameball
 


 

No. 14



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



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


ตอนเปิด form
ใช้ .show หรือ .showdialog ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:46:50 By : fonfire
 


 

No. 15



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



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

ตอบความคิดเห็นที่ : 13 เขียนโดย : nameball เมื่อวันที่ 2014-11-20 13:42:41
รายละเอียดของการตอบ ::
Public Function BindDataExport() As DataTable
strcon = "select * from GoodsExport order by rec_no"
ds = New DataSet
da = New SqlDataAdapter(strcon, conn)
da.Fill(ds, "GoodsExport")
Return ds.Tables(0)
End Function


เหมือน ds ที่ประกาศไว้ข้างนอกยังค้างยุ
ผม return DataTable ไม่มีปัญหาครับลองดู
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:48:17 By : lamaka.tor
 


 

No. 16



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



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


อ้อ
ถ้าใช้ showdialog
ตอนปิด form
ลองเพิ่ม .dispose เข้าไปด้วยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:48:48 By : fonfire
 


 

No. 17



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



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


ตอบความคิดเห็นที่ : 16 เขียนโดย : fonfire เมื่อวันที่ 2014-11-20 13:48:48
รายละเอียดของการตอบ ::
แบบนี้เหรอครับ

Code (VB.NET)
        If MessageBox.Show("กลับหน้าหลัก ใช่หรือไม่ ?", "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.Yes Then
            DataGridView1.DataSource.Clear()
            Me.Dispose()
            Me.Close()
        End If


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:50:16 By : nameball
 


 

No. 18



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



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


ตอบความคิดเห็นที่ : 15 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-20 13:48:17
รายละเอียดของการตอบ ::
ขอบคุณครับ ของลองแปปนะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:51:03 By : nameball
 


 

No. 19



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



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

ตอบความคิดเห็นที่ : 18 เขียนโดย : nameball เมื่อวันที่ 2014-11-20 13:51:03
รายละเอียดของการตอบ ::


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:53:57 By : lamaka.tor
 


 

No. 20



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



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


ขอบคุณครับ ได้แล้วครับ

ทั้งสองวิธีเลยครับ สุดยอดครับ

444
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:55:45 By : nameball
 


 

No. 21



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



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


ขอบคุณ คุณ lamaka.tor
ขอบคุณ คุณ Chaidhanan
ขอบคุณ คุณ fonfire

มากๆครับ ที่เข้ามาให้ความรู้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:58:00 By : nameball
 


 

No. 22



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



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


เรายื่นมือออกไปถึงจะมีคนยื่นมือมาจับกับเรา
คิดดูถ้าเรามีมือครบ 2 มือละ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 13:59:40 By : lamaka.tor
 


 

No. 23



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



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


ตอบความคิดเห็นที่ : 22 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-11-20 13:59:40
รายละเอียดของการตอบ ::


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-20 14:12:39 By : nameball
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Dataset สามารถเคลียร์ค่าได้ไหมครับ มีวิธีการอย่างไรบ้างครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่