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,028

HOME > .NET Framework > Forum > กลับมาอีกเเล้วครับ ถามเรื่องการนับเเถวที่เลือกจาก DataGridView1 ก่อนเพิ่มค่าลงใน DataGridView2 ครับ



 

กลับมาอีกเเล้วครับ ถามเรื่องการนับเเถวที่เลือกจาก DataGridView1 ก่อนเพิ่มค่าลงใน DataGridView2 ครับ

 



Topic : 039045



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



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




ผมต้องการนับก่อนว่าจำนวนแถวใน DataGridView1 มันมีมากกว่า จำนวนวัคซีนที่ Sum ออกมาจาก DB รึเปล่าครับ ถ้ามากกว่า
ก็จะไม่สามารถเพิ่มข้อมูลลง DataGridView2 ได้อะครับ

อันนี้ส่วนกดปุ่มเพิ่มครับ
Code (VB.NET)
 Private Sub bt_Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_Add.Click

        Dim d_set1 As DataSet
        d_set1 = New DataSet

        Dim i As Integer = 0
        For i = 0 To Vaccination.DataGridView2.Rows.Count - 1
            Dim temp_DogID As String = ""
            temp_DogID = Vaccination.DataGridView2.Rows(i).Cells(0).Value

            If temp_DogID = Me.DataGridView1.CurrentRow.Cells(0).Value Then ' ใช้ CurrentRow เพื่อเอาค่าที่เราเลือก ณ ตอนนั้นไปเทียบกับ Grid ที่เราจะใส่ข้อมูล
                MessageBox.Show("คุณเลือกสุนัขซ้ำกรุณาเลือกใหม่", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
                Exit Sub
            End If
        Next
        '================== เลือกสุนัขเเล้วส่งไปหน้า Vaccination ===================================================
        For i = 0 To DataGridView1.Rows.Count - 1
            If DataGridView1.Rows(i).Selected Then
                Dim j As Integer = Vaccination.DataGridView2.Rows.Add
                Vaccination.DataGridView2.Rows(j).Cells(0).Value = DataGridView1.Rows(i).Cells(0).Value
                Vaccination.DataGridView2.Rows(j).Cells(1).Value = DataGridView1.Rows(i).Cells(1).Value
                Vaccination.DataGridView2.Rows(j).Cells(2).Value = DataGridView1.Rows(i).Cells(2).Value
                Vaccination.DataGridView2.Rows(j).Cells(3).Value = DataGridView1.Rows(i).Cells(3).Value
            End If
        Next
        Vaccination.lb_qtyDog.Text = Vaccination.DataGridView2.Rows.Count

        Vaccination.DataGridView2.Enabled = True
        Vaccination.bt_Cancel.Enabled = False
        Vaccination.bt_cancelAll.Enabled = True
        Me.Close()
    End Sub


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



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-02-16 13:25:13 By : artcode View : 1470 Reply : 11
 

 

No. 1



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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


เอา If คลอบไว้

Code (VB.NET)
If DataGridView1.Rows.Count > (ExecuteScalar จาก db)
    'Add DataGridView2.
Else
    'Do something.
End if







Date : 2010-02-16 15:14:44 By : tungman
 


 

No. 2



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



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


พี่ครับ tungman ไม่เข้าใจตรงนี้ครับ (ExecuteScalar จาก db) คืออะไรหรอครับ
Date : 2010-02-16 21:49:39 By : artcode
 

 

No. 3



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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


จะ Sum จำนวนวัคซีนจาก DB ไม่ใช่หรือ ก็ใช้ ExecuteScalar ไง จะได้ query ออกมาเป็น value เลย
Date : 2010-02-17 08:08:28 By : tungman
 


 

No. 4



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



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


ขอบคุณพี่ tungman มากครับ
เเล้วถ้าผมอยากจะเปลี่ยนเป็นเอาค่าลง DataSet ก่อนเเล้วนับเเถวใน DataSet อะครับ
จะเขียนได้เเบบไหนครับ เพราะตอนนี้เขียนเเบบ วน Add ทีละเเถวที่เลือกเลยอะครับ

Code (VB.NET)
If DataGridView1.Rows(i).Selected Then
           Dim j As Integer = Care.DataGridView2.Rows.Add() 'สร้างตัวแปร j ไว้รับค่าที่เราเลือกจาก DataGridView1

           Care.DataGridView2.Rows(j).Cells(0).Value = DataGridView1.Rows(i).Cells(0).Value 'คือ ส่งค่าที่เราเลือกจาก DataGridView1 ของ i ไปให้  DataGridView1 ของ j
           Care.DataGridView2.Rows(j).Cells(1).Value = DataGridView1.Rows(i).Cells(1).Value
           Care.DataGridView2.Rows(j).Cells(2).Value = DataGridView1.Rows(i).Cells(2).Value
           Care.DataGridView2.Rows(j).Cells(3).Value = DataGridView1.Rows(i).Cells(3).Value
           Care.DataGridView2.Rows(j).Cells(4).Value = DataGridView1.Rows(i).Cells(4).Value
           Care.DataGridView2.Rows(j).Cells(5).Value = DataGridView1.Rows(i).Cells(5).Value
           Care.DataGridView2.Rows(j).Cells(6).Value = DataGridView1.Rows(i).Cells(6).Value
       End If


Date : 2010-02-17 12:50:36 By : artcode
 


 

No. 5



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



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


นับแถว datagridview
DataGridView2.Rows.Count

นับแถว dataset

DataSet.Tables["tablename"].Rows.Count
Date : 2010-02-17 13:31:46 By : numenoy
 


 

No. 6



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



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


คุณเพื่อน..ลองดูอันนี้ โค้ดส่วนตรวจสอบการลบ ของกวางดึงค่าจาก DB ลง dataset ก่อน

Code (VB.NET)
       Dim da = New SqlDataAdapter("SELECT EmpCode,EmpRcode,Rcode,DCode FROM Purchase_Order,Receipt,Distribute WHERE EmpCode = '" & tb_ID.Text & "' or EmpRCode = '" & tb_ID.Text & "' or RCode = '" & tb_ID.Text & "' or DCode = '" & tb_ID.Text & "'", SqlConnection1)
            da.Fill(ds, "eid")
            Dt = ds.Tables("eid")
            If ds.Tables("eid").Rows.Count <> 0 Then
                temp_mycommand = "Update employee set Status = '0' where EmpID = '" & tb_ID.Text & "'"
            Else
                temp_mycommand = "Delete from employee where EmpID ='" & tb_ID.Text & "'"
            End If


ยังไงก็แวะกระทู้กวางบ้างนะโน้ต กวางยังไม่ได้เลย
รบกวนพี่ ๆ ด้วยนะคะ T^T (แอบโปรโมทที่ตัวเองถามไว้ เพราะตอนนี้นิ่งสนิทเลยค่ะแก้ไม่ได้)
https://www.thaicreate.com/dotnet/forum/038709.html
Date : 2010-02-17 14:12:03 By : Kwang196
 


 

No. 7



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



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


ขอบใจมากกวาง เเต่เเบบว่า ต้องการเพิ่มข้อมูลลง ใน DataSet ก่อนอะ ทำไงดีง่าาา
Date : 2010-02-17 17:47:10 By : artcode
 


 

No. 8



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



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


เพิ่มนี่หมายถึง insert เสร็จแล้ว query นับจำนวนหรือเปล่าอะ

ป.ล.ขอบใจมาก เมื่อกี้ ที่กวางติด โน้ตช่วยไว้ ผ่านแล้ว แต่..มาใหม่อีกแล้ว ฮ่า ๆ งานเข้า มาเพิ่มเรื่อย ๆ ไม่ขาดสาย
Date : 2010-02-17 20:27:36 By : Kwang196
 


 

No. 9



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



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


อันนี้ก็เรียกข้อมูลมาให้ dataset นะ

Code (VB.NET)
Dim da = New SqlDataAdapter("SELECT EmpCode,EmpRcode,Rcode,DCode FROM Purchase_Order,Receipt,Distribute WHERE EmpCode = '" & tb_ID.Text & "' or EmpRCode = '" & tb_ID.Text & "' or RCode = '" & tb_ID.Text & "' or DCode = '" & tb_ID.Text & "'", SqlConnection1) ' <<< เรียกค่าข้อมูล base เฉพาะที่ต้องการ
     da.Fill(ds, "eid") 
     Dt = ds.Tables("eid") 
     If ds.Tables("eid").Rows.Count <> 0 Then <<< นับค่า rows ใน datatable ว่าไม่เท่ากับ 0 หรือไม่
         temp_mycommand = "Update employee set Status = '0' where EmpID = '" & tb_ID.Text & "'"
     Else
         temp_mycommand = "Delete from employee where EmpID ='" & tb_ID.Text & "'"
     End If



กรณีโน้ต ไม่รู้กวางคิดตรงหรือเปล่า คือ เปลี่ยนเงื่อนไข if ประมาณแบบนี้หรือเปล่า

Code (VB.NET)
   If ds.Tables("eid").Rows.Count < DataGridView1.Rows.Count Then ' <<< นับค่า rows ใน datatable เทียบกับข้อมูลที่เลือกไว้ใน DataGridVeiw1 


กวางใช้ประมาณนี้ในการเช็คยาด้วย ลองดูนะ
Date : 2010-02-18 10:08:00 By : Kwang196
 


 

No. 10



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



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


ไม่ใช่ๆ คือถ้าเป็นแบบกวางอะ จะ Query ค่าจาก DB มาไว้ใน Data Set ใช่ป้ะหละ

เเต่ที่โน๊ตต้องการคือ
1. Query ค่าทั้งหมดออกมาจาก DB มาเเสดงไว้ใน DataGridView1 (ทำได้เเละ)
2. เลือกค่าที่เราต้องการได้ทีละหลายๆ Rows เพราะ กำหนด Properties ของDataGridView1 ให้เป็น Multi Selected (ทำได้เเละ)
3. กดปุ่มเพิ่ม ค่าทั้งหมดจะเข้าไปอยู่ในอะไรซักอย่างก่อน(คิดไว้ว่าจะเอา DataSet อะ)เพื่อนับ Rows ว่าเราเลือกไปกี่ Rows(ยังทำไม่ได้)
4. ถ้านับ Rows ในข้อที่ 3 เเล้วผลนับไม่เกินตัวแปรที่เก็บค่าอยู่เเล้วให้เพิ่มข้อมูลที่เลือกลง DataGridView2 ได้อะ

อยากได้ประมาณนี้อะ เเต่ตอนนี้ตัน ทำไม่ได้ เฮ้อออ...

รบกวนพี่ๆ ทุกท่านชี้เเนะทีครับ
Date : 2010-02-18 11:34:26 By : artcode
 


 

No. 11



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



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


งั้นก็เหมือนของกวางไง...Grid หลอกง่ะ ใช่ป่ะ ?
Date : 2010-02-18 11:47:23 By : Kwang196
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : กลับมาอีกเเล้วครับ ถามเรื่องการนับเเถวที่เลือกจาก DataGridView1 ก่อนเพิ่มค่าลงใน 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 02
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 อัตราราคา คลิกที่นี่