เมื่อคลิกที่ Checkbox แล้วไปกดปุ่ม Delete แล้วไป Update สถานะ ของ record ที่เลือกค่ะ
ตอนคุณดึงขึ้นมาก็ใส่เงื่อนไขให้ดึงขึ้นมาเฉพาะ สถานะ Active ซิครับ
ผมเข้าใจถูกป่าว
Date :
2010-11-16 16:41:02
By :
xcom
อ่อ เข้าใจถูกแล้วค่ะ
แต่ติดตอนที่เลือก checkbox แล้วให้ไปเปลี่ยนสถานะของ record ที่ถูกเลือก
สมมติ ตอนนี้ record 1 มีสถานะ "Active"
พอเราไป เลือก checkbox ของ record1 แล้วคลิกที่ปุ่ม (Delete)
ก็ให้มันเปลี่ยนสถานะจาก Active เป็น Inactive ในฐานข้อมูลอ่ะค่ะ
ประมานนี้อ่ะคะ
คือลองทำมาหลายวันแล้วเหมือนกัน แต่ว่ายังไม่ได้เรยค่ะ
ขอบคุณมากค่ะ
Date :
2010-11-16 16:48:25
By :
angel_koi
ผมคงเข้าใจถูกนะ
Date :
2010-11-16 16:48:36
By :
xcom
Code (VB.NET)
update table_name set field_name='Inactive ' where id= id อะไรก็ว่าไป
Date :
2010-11-16 17:03:00
By :
kanchen
Protected Sub btnMultipleRowDelete_Click2(ByVal sender As Object, ByVal e As EventArgs)
For Each row As GridViewRow In GridView2.Rows
Dim checkbox As CheckBox = CType(row.FindControl("cbRows"), CheckBox)
If checkbox IsNot Nothing Then
If checkbox.Checked Then
Dim MachineId As Integer = Convert.ToInt32(GridView2.DataKeys(row.RowIndex).Value)
Dim SqlCommand As String
SqlCommand = "Update Machine SET [MachineStatus] ='Inactive' WHERE (MachineId = @MachineId)"
SqlDataSource1.Update()
End If
End If
Next row
End Sub
อันนี้ คือที่ลองเขียนอ่ะค่ะ
แต่มัน update ไปไม่ได้
เหมือนเลือก Checbox แล้วกดปุ่ม มันเหมือนไม่มีไรเกิดขึ้นอ่ะคะ
Date :
2010-11-16 17:10:16
By :
angel_koi
ลอง debug ดูครับ ว่า MachineId มีค่าเป็นอะไร อาจเป็นเพราะ MachineId ทีทำการ where นั้นไม่มีค่าก็ได้ครับ
Date :
2010-11-16 17:20:22
By :
kanchen
ขอบคุณคุณ KanJi และทุกๆคนมากค่ะ
แต่ว่า ทำ Debug ไม่เปนอ่ะค่ะ
ตอนนี้ลองหาอ่านๆ วิธี Debug อยู่ค่ะ
Date :
2010-11-16 17:34:55
By :
angel_koi
ลอง Debug ดูแล้วค่ะ
ค่าของ MachineId ก็ขึ้นนะคะ
แล้วก้เรยลอง ประกาศตัวแปรตัวนี้ แล้ว ให้มันแสดงค่าแต่มันกลับเป็นค่าว่างอ่ะคะ
Dim MachineStatus As String = Convert.ToString(GridView2.DataKeys(row.RowIndex).Value(5).ToString())
MsgBox(MachineStatus)
อย่างงี้ควรจะแก้ไขยังไงดีคะ
ขอบคุนค่ะ
Date :
2010-11-16 18:26:25
By :
angel_koi
Code (VB.NET)
Dim USelectRow As Integer = 0
Dim PrepDate As String
Dim Store As String
If GrdHeader.SelectedRows.Count > 0 Then
IsFind = True 'ประกาศตัวแปรตัวนี้ไว้ข้างบนสุดนะ Dim IsFind As Boolean
End If
If IsFind = True Then
USelectRow = GrdHeader.CurrentRow.Index()
PrepDate = DDSet.Tables(0).Rows(USelectRow).Item(0).ToString
Store = DDSet.Tables(0).Rows(USelectRow).Item(1).ToString
'MsgBox("prep = " & PrepDate & "== Store = " & Store, MsgBoxStyle.OkOnly)
'update table set status='Inactive' where id=''
End If
ลองเอาไปประยุกต์ใช้ดูครับ
Date :
2010-11-17 09:20:47
By :
xcom
ขอบคุณคุณ Xmen มากๆเรยนะคะ
วันนี้เรียนเสร็จจะกลับไปทำต่อที่บ้านค่ะ
Date :
2010-11-17 09:50:55
By :
pink
Load balance : Server 02