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 เมื่อเกินวันที่เรากำหนดไว้ 7 วัน



 

เปลี่ยนสีของแถวใน datagridview เมื่อเกินวันที่เรากำหนดไว้ 7 วัน

 



Topic : 129670



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



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




ต้องการให้ข้อมูลใน datagridview เปลี่ยนเป็นสีแดงเมื่อเกิน 7 วัน โดยให้นับวันที่จาก คอลัม วันที่ส่ง จนถึงวันที่ ปัจจุบันอ่ะครับ ใครรู้ช่วยบอกหน่อยครับ ขอบคุณครับ
948



Tag : .NET, Ms SQL Server 2008, Web (ASP.NET), VB.NET, VS 2010 (.NET 4.x)









ประวัติการแก้ไข
2017-12-08 15:00:40
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-12-08 13:51:03 By : ชรินทร์ View : 6047 Reply : 34
 

 

No. 1



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



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


ประมาณนี้ครับ เป็น C# นะเอาไปแปลงเอง

Code (C#)
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                TableCell cell = e.Row.Cells[1];
                DateTime sendDate = Convert.ToDateTime(cell.Text);
                System.TimeSpan diff1 =DateTime.Now- sendDate ;

                if (diff1.Days > 7)
                {
                    cell.ForeColor = Color.Red;
                }
            }
        }







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-08 15:09:28 By : OOP
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : OOP เมื่อวันที่ 2017-12-08 15:09:28
รายละเอียดของการตอบ ::
ไม่เปลี่ยนสีอ่ะครับ ผิดตรงไหนหรือป่าวครับ รบกวนหน่อยนะครับ

Code (VB.NET)
Private Sub datagrid_bill_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
        If (e.Row.RowType = DataControlRowType.DataRow) Then
            Dim cell As TableCell = e.Row.Cells(6)
            Dim sendDate As DateTime = Convert.ToDateTime(cell.Text)
            Dim diff1 As System.TimeSpan = (DateTime.Now - sendDate)
            If (diff1.Days > 3) Then
                cell.ForeColor = Color.Red
            End If
        End If
    End Sub

785
ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-08 15:51:05 By : ชรินทร์
 

 

No. 3



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



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


ดูโค้ดในส่วนของ ASP หน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-08 15:56:03 By : OOP
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : OOP เมื่อวันที่ 2017-12-08 15:56:03
รายละเอียดของการตอบ ::

งงอ่ะครับ อาจารย์ช่วยบอกอีกหน่อยนะครับ อย่าพึ่งว่าผมนะครับ ผมพึ่งหัดเขียนครับ พึ่งศึกษา ไม่ค่อยเข้าใจอ่ะครับ แต่ก็ขอบคุณอาจารย์จริงๆคัรบ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-08 16:07:03 By : ชรินทร์
 


 

No. 5



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



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


เอาง่ายๆ ตอนนี้คุณทำ Window App หรือ เว็บครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-08 16:09:29 By : OOP
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : OOP เมื่อวันที่ 2017-12-08 16:09:29
รายละเอียดของการตอบ ::
Window App ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-08 16:10:25 By : ชรินทร์
 


 

No. 7



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



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

Code (VB.NET)
Private Sub DataGridView1_DataBindingComplete(sender As Object, e As DataGridViewBindingCompleteEventArgs) Handles DataGridView1.DataBindingComplete
        For i As Integer = 0 To DataGridView1.RowCount - 1
            If (Convert.ToDateTime(DataGridView1(4, i).Value.ToString()) - DateTime.Now).Days >7 Then
                DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.Red
            End If
        Next
    End Sub


ยังไม่ลองรันดูนะครับ

หลักการคือ ใช้งาน event DataBindingComplete
ตรวจแต่ละแถวว่าวันที่ มากกว่า รึไม่ถ้ามากกว่าก็เปลี่ยนเป็นสีแดง ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-08 16:58:22 By : lamaka.tor
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-08 16:58:22
รายละเอียดของการตอบ ::
ยังไม่แดงอ่ะคัรบอาจารย์ ผมลองแก้ตรงถ้าเกิน 2 วันให้เปลี่ยนเป็นสีแดง ก็ไม่แดงครับ ผิดตรงไหนเอ่ย ช่วยดูให้หน่อยครับ ขอบคุณครับ
659

963
อันนี้ข้อมูลใน sql ครับ
369



ประวัติการแก้ไข
2017-12-09 09:30:50
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-09 09:29:24 By : ชรินทร์
 


 

No. 9



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



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

ตอบความคิดเห็นที่ : 8 เขียนโดย : ชรินทร์ เมื่อวันที่ 2017-12-09 09:29:24
รายละเอียดของการตอบ ::
ลองเพิ่ม messagebox.show() เข้าไปดู
จะได้รู้ว่ามันเข้าเงื่อนไขของ if ไม๊นะครับ

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


 

No. 10



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-09 11:58:11
รายละเอียดของการตอบ ::
ไม่เปลี่ยนสีอยู่ดีครับ ลองเปลี่ยนเป็น Method แล้วเรียกใช้งานก็ยังไม่ได้เลยครับ ต้องปรับเปลี่ยนตรงไหนมั้ยครับ ใครมีไอเดียช่วยแนะนำทีครับ ในฐานข้อมูลใช้ เป็น date นะครับ ขอบคุณครับ

Private Sub AppliedStyleGrid()
For Each gridRow As DataGridViewRow In datagrid_bill.Rows
Dim deliveryDate As DateTime = Convert.ToDateTime(gridRow.Cells("claimsend_dateout").Value.ToString())
If (deliveryDate - DateTime.Now).Days > 3 Then
gridRow.DefaultCellStyle.BackColor = Color.Red
End If
Next
End Sub

8569


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 11:22:40 By : ชรินทร์
 


 

No. 11



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



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


ลองไม่ต้องเช็คเงื่อนไข
แล้วใส่แค่คำสั่งเปลี่ยนสีดูครับ
ว่ามันทำงานได้ไหม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 11:30:32 By : fonfire
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : fonfire เมื่อวันที่ 2017-12-12 11:30:32
รายละเอียดของการตอบ ::
ถ้าไม่ใสเงื่อนไขมันแดงทั้งหมดเลยครับ หรือเปลี่ยนจาก > เป็น < มันแดงเตือนหมดเลยครับ แต่พอไส่เงื่อนไข ดันไม่ทำงาน คือต้องการให้มันแดงหลังจากวันที่ส่ง เกิน 7 วัน แต่ที่ทดสอบ ผมกำหนดให้เปลี่ยนสีเมื่อเกิน 3 วัน ครับ ใครมีไอเดียเจ๋งๆช่วยดีครับ ผมพึงหัดเขียนครับ งงๆหน่อย55 อย่าว่าผมนะครับ

8632


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 11:45:48 By : ชรินทร์
 


 

No. 13



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



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


ตอบความคิดเห็นที่ : 10 เขียนโดย : ชรินทร์ เมื่อวันที่ 2017-12-12 11:22:40
รายละเอียดของการตอบ ::
ไป Query Datediff ใน sQl ก็ได้นะครับ แล้วดึงค่ามา loop

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 11:48:33 By : adminliver
 


 

No. 14



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



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


ตอบความคิดเห็นที่ : 13 เขียนโดย : adminliver เมื่อวันที่ 2017-12-12 11:48:33
รายละเอียดของการตอบ ::
รบกวนช่วยเขียนเป็นโค้ดตัวอย่างให้หน่อยได้มั้ยครับ ผมยังไม่ค่อยเข้าใจกับ vb เท่ารัย พึ่งหัดเขียนได้แค่ 3 เดือนเอง ยังงงๆ อยู่ครับ อย่าว่าผมนะครับ อยู่ในช่วงซึกษาอ่ะครับ แต่ยังงัยก็ขอบคุณมากๆเลยครับ สำหรับทุกตำตอบครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 11:53:57 By : ชรินทร์
 


 

No. 15



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



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

ลองเช็คหลัง if ดู ว่ามันเข้าเงื่อนไขไม๊ นะ

Code (VB.NET)
Private Sub AppliedStyleGrid()
For Each gridRow As DataGridViewRow In datagrid_bill.Rows
Dim deliveryDate As DateTime = Convert.ToDateTime(gridRow.Cells("claimsend_dateout").Value.ToString())
If (deliveryDate - DateTime.Now).Days > 3 Then
MessageBox.Show("เช็คสี")
gridRow.DefaultCellStyle.BackColor = Color.Red
Else
MessageBox.Show("เช็ค Days" & (deliveryDate - DateTime.Now).Days )
End If
Next
End Sub


หลักการคือ ไล่เช็คไปแต่ละจุดจะได้รู้ว่า ติดตรงไหนนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 12:18:41 By : lamaka.tor
 


 

No. 16



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



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


ตอบความคิดเห็นที่ : 15 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-12 12:18:41
รายละเอียดของการตอบ ::
ขึ้นแบบนี้อ่ะครับ
98745


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 13:00:16 By : ชรินทร์
 


 

No. 17



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



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

รู้แล้วใช่ไม๊ครับ ว่า มันติดตรงไหน

ต่อไปก็
Code (VB.NET)
Private Sub AppliedStyleGrid()
For Each gridRow As DataGridViewRow In datagrid_bill.Rows
Dim deliveryDate As DateTime = Convert.ToDateTime(gridRow.Cells("claimsend_dateout").Value.ToString())
If (deliveryDate - DateTime.Now).Days > 3 Then
MessageBox.Show("เช็คสี")
gridRow.DefaultCellStyle.BackColor = Color.Red
Else
MessageBox.Show("เช็ค Days " & deliveryDate  & " Def = " & (deliveryDate - DateTime.Now).Days )
End If
Next
End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 13:05:08 By : lamaka.tor
 


 

No. 18



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



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


ตอบความคิดเห็นที่ : 17 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-12 13:05:08
รายละเอียดของการตอบ ::
ขึ้นแบบนี้ครับ โค้ดใหม่
96325

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 13:14:26 By : ชรินทร์
 


 

No. 19



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



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


ตรงการคำนวณจำนวนวัน
ลองเปลี่ยนไปใช้คำสั่ง datediff แทนดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 13:35:10 By : fonfire
 


 

No. 20



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



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


Code (SQL)
ออกตัวก่อนนะครับว่า มือใหม่เหมือนกันฮาๆๆ ได้จารย์หลายท่านในนี้ช่วยสอนโดยเฉพาะจารย์ tor สุดยอดมากๆ ครับ
วีิธีผมมันจะดาดๆ นะครับลองเอาไปใช้แก้ขัดก่อนครับ
ส่วน code GridColor Copy ของจารย์ tor มาครับ ผมลองเอามาปรับแต่งใช้งานได้ 100 % ครับ ^_^

select *, Datediff(day,Startdate,Enddate) as Waranty--เอา Columnนี้ไป check From table  --ทำDatediff ในนี้

Code (VB.NET)
dim objConn as new sqlconnection 
dim DA as new sqldataAtapter
dim DT as new Datatable
dim sqltem as string 
dim strConn as string = "server=host;database=db;trusted_connection=true;"

page_load
 rangeWaranty()
MyDatagrid ()
end sub

private sub MyDatagrid 'อันนี้เขียนสดนะครับผิดพลาด ขอ อภัยครับ พอดีลืมเอา notebook มา
using objConn as new sqlconnect(strconn)
objConn.open
sqltem = "select *, Datediff(day,Startdate(column),Enddate(column)) as Waranty From table"
using DA as new sqldataAdapter
DT = New DATAtable
DA.Fill(DT)
DataGridView1.datasource = DT
end using 
end sub

private sub rangeWaranty()
    For i As Integer = 0 To DataGridView1.RowCount - 1
            If Convert.ToInt16(DataGridView1(2, i).Value) < 3 Then
                DataGridView1(2, i).Style.BackColor = Color.Red 
            End If
        Next


ลองดูนะครับ Error ป่าวไม่รู้ 555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 13:50:28 By : adminliver
 


 

No. 21



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



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


ตอบความคิดเห็นที่ : 17 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-12 13:05:08
รายละเอียดของการตอบ ::
ได้แล้วครับ อาจารย์ TOR_CHEMISTRYขอบคุณ ที่ให้ความกระจ่างชัดเจนเลยครับ แล้วก็ขอบคุณทุกๆคำตอบมากๆเลยนะครับ
หลายๆเคสที่ผมเจอปัญหา ผมจะได้ความรู้จากทุกๆคนในนี้ทุกครั้ง ขอบคุณจริงๆ มือใหม่อย่างผมคัรบ

Code (VB.NET)
 Private Sub AppliedStyleGrid()
        For Each gridRow As DataGridViewRow In datagrid_bill.Rows
            Dim deliveryDate As DateTime = Convert.ToDateTime(gridRow.Cells("claimsend_dateout").Value.ToString())
            If (DateTime.Now - deliveryDate).Days > 7 Then
                gridRow.DefaultCellStyle.BackColor = Color.Red
            End If
        Next
    End Sub


1598




ประวัติการแก้ไข
2017-12-12 14:16:39
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 14:15:04 By : ชรินทร์
 


 

No. 22



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



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

ตอบความคิดเห็นที่ : 21 เขียนโดย : ชรินทร์ เมื่อวันที่ 2017-12-12 14:15:04
รายละเอียดของการตอบ ::
ใบ้ซะขนาดนี้มันต้องได้มั้งละครับ
ถ้าไม่ได้อีก ผมก็ว่าจะเขียนโค้ดต่ออีกรอบ ครับ(แต่ได้แล้วก็ดีแล้วละครับ)

ใช้รูปแบบนี้ในการแก้ปัญหานะครับ
หาที่มาเป็น ขั้นๆไป เราจะได้เห็นจุดเกิดเหตุ ว่าอยู่ บะะทัดไหนครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 15:44:22 By : lamaka.tor
 


 

No. 23



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



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


ตอบความคิดเห็นที่ : 22 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-12 15:44:22
รายละเอียดของการตอบ ::
รบกวนอีกแล้วครับ อาจารย์ TOR_CHEMISTRY ครับ ปัญหาใหม่เกิดอีกแล้ว พอผมรันฟร์อมเดียวมันแดงนะครับ แต่พอรันผ่านฟร์อมเมนดันไม่แดงซะงั้นครับ งานปวดหมองอีกละ รบกวนช่วยหน่อยนะครับ ขอบคุณอาจารย์ทุกคนเลยนะครับที่คอยช่วยนะครับ

Private Sub AppliedStyleGrid()
For Each gridRow As DataGridViewRow In datagrid_bill.Rows
Dim deliveryDate As DateTime = Convert.ToDateTime(gridRow.Cells("claimsend_dateout").Value.ToString())
If (DateTime.Now - deliveryDate).Days > 7 Then
gridRow.DefaultCellStyle.BackColor = Color.Red
End If
Next
End Sub

2222

11111


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-13 10:03:16 By : ชรินทร์
 


 

No. 24



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



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

ตอบความคิดเห็นที่ : 23 เขียนโดย : ชรินทร์ เมื่อวันที่ 2017-12-13 10:03:16
รายละเอียดของการตอบ ::
ย้อนกลับไป

MessageBox.Show("เช็คสี")

อีกรอบครับ

ถ้ามันขึ้นแล้วไม่เปลี่ยนสีค่อยว่ากันอีกรอบนะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-13 10:40:08 By : lamaka.tor
 


 

No. 25



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



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


ตอบความคิดเห็นที่ : 24 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-13 10:40:08
รายละเอียดของการตอบ ::
ขึ้นแบบนี้ครับอาจารย์ ถ้ากด ok ก็จะเช็คไปเลื่อยๆจนขึ้นฟร์อมครับอาจารย์
1236

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-13 10:46:45 By : ชรินทร์
 


 

No. 26



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



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

ตอบความคิดเห็นที่ : 25 เขียนโดย : ชรินทร์ เมื่อวันที่ 2017-12-13 10:46:45
รายละเอียดของการตอบ ::
เจ้านี่ รันผ่านฟร์อมเมน ที่ว่าใช่ไม๊

งั้นลองไปดูโค้ที่ ฟร์อมเมน ดูว่า หลังจากเรียกหน้านี้มาแล้วให้ทำยังไงต่อครับ
และดูว่าต่อจาก AppliedStyleGrid() แล้วมันไปทำอะไรต่อด้วย

ดู 2 อย่างนี้ก่อน

ปล. ใช้ MessageBox ตามเช็คแต่ละขั้นที่เราสงสัยได้เลยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-13 10:56:57 By : lamaka.tor
 


 

No. 27



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



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


ตอบความคิดเห็นที่ : 26 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-13 10:56:57
รายละเอียดของการตอบ ::
... ใส่ความคิดเห็นตรงนี้....... ตอบความคิดเห็นที่ : 26 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-13 10:56:57
รายละเอียดของการตอบ ::
หน้าฟร์อมเมนมีแค่นี้ครับอาจารย์
Private Sub ToolStripButton1_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menu_cutbill.Click
frm_cutbillnew.Show()
frm_cutbillnew.MdiParent = Me
End Sub

1235



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-13 11:06:58 By : ชรินทร์
 


 

No. 28



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



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

ลองเช็คที่ dataGridView ครับ

Code (VB.NET)
Private Sub dataGridView1_DataBindingComplete(ByVal sender As Object, _
ByVal e As DataGridViewBindingCompleteEventArgs) _
Handles dataGridView1.DataBindingComplete

MessageBox.Show("เช็ค dataGridView ")

End Sub



ให้เกตุสังว่า ระหว่าง เรียกมาแบบเดี่ยวๆ กับเรียกผ่าน เมนฟอร์ม มีข้อแตกต่างกันไม๊
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-13 11:24:05 By : lamaka.tor
 


 

No. 29



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



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


ตอบความคิดเห็นที่ : 28 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-13 11:24:05
รายละเอียดของการตอบ ::
ไม่ต่างกันเลยครับอาจารย์ เกรงใจอาจารย์จังเลยครับ แต่อาจารย์ช่วยผมก่อนนะครับ ขอบคุณอาจารย์นะครับ รันบนฟร์อมเมนกด ok 3 รอบ
รันเดี่ยวกด ok 2 รอบครับอาจารย์


Private Sub datagrid_bill_DataBindingComplete(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewBindingCompleteEventArgs) Handles datagrid_bill.DataBindingComplete
MessageBox.Show("เช็ค dataGridView ")
End Sub

1245

45612




ประวัติการแก้ไข
2017-12-13 11:52:27
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-13 11:38:38 By : ชรินทร์
 


 

No. 30



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



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

ตอบความคิดเห็นที่ : 29 เขียนโดย : ชรินทร์ เมื่อวันที่ 2017-12-13 11:38:38
รายละเอียดของการตอบ ::
น่าจะมาถูกทางแล้วละครับ

ทีนี้ลองเปลี่ยนจาก
frm_cutbillnew.Show()

เป็น

frm_cutbillnew.ShowDialog()

และลองเช็คดูว่า ครั้งที่ 3 ที่มันเกินมา มาจากไหน
อาจจะเป็นไปได้ว่าครั้งที่ 3 เป็นการ เรียกใช้ datasource ใหม่ ทำให้

ปล.สุดท้ายจะมีวิธีง่ายๆมาเฉลยนะครับ แต่อยากให้ฝึกหาสาเหตุไป เพราะตอนทำงานจริง อาจจะยากกว่านี้


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-13 12:16:01 By : lamaka.tor
 


 

No. 31



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



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


ตอบความคิดเห็นที่ : 30 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-13 12:16:01
รายละเอียดของการตอบ ::
ได้แล้วครับ ขอบคุณอาจารย์ TOR_CHEMISTRY มากๆเลยครับ ช่วยจนถึงที่สุดจริงๆ ผมลองไปเปลี่ยนจาก Method เรียกใช้งาน เป็น Event
ที่อาจารย์ส่งมาให้ใช้ msgbox เช็ค DataBindingComplete เปลี่ยนมาใช้อันนี้ใช้ได้เลย ขอบคุณอาจารย์มากๆเลยครับ ได้ความรู้จากตรงนี้มากทีเดียว สำหรับมือใหม่อย่างผมครับ และขอบคุณทุกคำตอบด้วยนะครับ

Code (VB.NET)
Private Sub datagrid_bill_DataBindingComplete(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewBindingCompleteEventArgs) Handles datagrid_bill.DataBindingComplete
        For Each gridRow As DataGridViewRow In datagrid_bill.Rows
            Dim deliveryDate As DateTime = Convert.ToDateTime(gridRow.Cells("claimsend_dateout").Value.ToString())
            If (DateTime.Now - deliveryDate).Days > 7 Then
                gridRow.DefaultCellStyle.BackColor = Color.Red
            End If
        Next
    End Sub 


9547




แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-13 13:49:17 By : ชรินทร์
 


 

No. 32



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



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

วิธีที่บอกไว้ว่ามันง่ายๆก็คือใช้ DataBindingComplete นี่แหละครับ 555
เพราะยังไงก็ต้องมาจบที่ DataBindingComplete อยู่แล้ว
เขียนโค้ดใน DataBindingComplete ถือเป็นการแก้ที่ถูกต้องเลยครับ

สามารถลดโค้ดโดยการตัด AppliedStyleGrid() ออกเหลือแค่ datagrid_bill_DataBindingComplete ได้เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-13 15:00:14 By : lamaka.tor
 


 

No. 33

Guest


ตอบความคิดเห็นที่ : 32 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-13 15:00:14
รายละเอียดของการตอบ ::
ขอโทษนะคะ ขอสอบถามหน่อยนะคะ
แล้วถ้าเป็น Web Application สำหรับกรณีของกระทู้นี้ ต้องเขียนประมาณไหนหรอค่ะ

ขอบคุณมากค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-19 13:31:54 By : นัทชา
 


 

No. 34



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



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

ตอบความคิดเห็นที่ : 33 เขียนโดย : นัทชา เมื่อวันที่ 2017-12-19 13:31:54
รายละเอียดของการตอบ ::
No. 1 ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-19 14:18:28 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

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