綁定的grid數據源,Save 怎樣取得checkbox的值,0/1
代碼:
Private Sub frmProduction_Plan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      Me.dgvPrdsch.AutoGenerateColumns = False
        Me.dgvPrdsch.MultiSelect = False
        isChangesFlag = False
        MainMenu.statuslaber.Text = ""        '生產排單
        pSql = "select * from Prdsch mrec where 1=2 and " & gSecSet.com
        Call getPrdschData()
End Sub Private Sub getPrdschData()
        Dim intRow As Integer
        pDS_Prdsch = gGetDataSet(gCN, pSql, "Prdsch")
        'pDS_Prdsch.Tables("Prdsch").Columns("out_date").DefaultValue = gFormatDate(gCurrentDate().ToString)
        pBindingSource_Prdsch = New BindingSource
        pBindingSource_Prdsch.DataSource = pDS_Prdsch.Tables("Prdsch")             'set DataSource  
        dgvPrdsch.DataSource = pBindingSource_PrdschEnd Sub  'Save
    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        Dim numberRows As Integer
        Dim strIcnNo As String        '配方單號
        Dim strSample_Flag As String        strIcnNo = ""
        strSample_Flag = "N"
      
        Try
            If isChangesFlag Then
                If MainMenu.statuslaber.Text <> "" AndAlso _
                    MainMenu.statuslaber.Text <> gGetMessage(gMessageCode.MasterFinderAlert, "") Then  '當狀態欄的提示是錯誤提示時,不允許保存                    MessageBox.Show(gGetMessage(gMessageCode.SaveFailure, ""), Me.Tag, _
                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation)                Else
                    ChangeCurrentCell(Me.dgvPrdsch)
                    
                    'save '更新保存入Prdsch
                    'insert 
                    pDa = New System.Data.SqlClient.SqlDataAdapter
                    pDa.AcceptChangesDuringUpdate = True
                    pDa.InsertCommand = New System.Data.SqlClient.SqlCommand
                    pDa.InsertCommand.Connection = gCN
                    pDa.InsertCommand.CommandText = "INSERT INTO Prdsch "
                    pDa.InsertCommand.CommandType = System.Data.CommandType.Text                    With pDa.InsertCommand.Parameters
                       .Add("@sample_flag", SqlDbType.Char, 1).Value = strSample_Flag
                       .Add("@order_flag", SqlDbType.Char, 1).Value = 'checkbox的值                    
                    End With                    'update
                    pDa.UpdateCommand = New System.Data.SqlClient.SqlCommand
                    pDa.UpdateCommand.Connection = gCN
                    pDa.UpdateCommand.CommandText = "UPDATE Prdsch SET "
                    pDa.UpdateCommand.CommandType = System.Data.CommandType.Text                    With pDa.UpdateCommand.Parameters
                        .Add("@product_date", System.Data.SqlDbType.DateTime, 8).Value = dtpProduct_date.Text
                       
                    End With                    'delete
                    pDa.DeleteCommand = New System.Data.SqlClient.SqlCommand
                    pDa.DeleteCommand.Connection = gCN                    pDa.DeleteCommand.CommandText = "DELETE Prdsch " & _
                            "WHERE product_order = @Original_product_order " & _
                            "and company_id = @company_id " & _
                            "and product_number = @product_number"                    With pDa.DeleteCommand.Parameters
                        .Add("@company_id", System.Data.SqlDbType.NChar, 2, "company_id")
                    End With                    numberRows += pDa.Update(pDS_Prdsch, "Prdsch")                    'save Prdsch end                    pDa.AcceptChangesDuringUpdate = True                    MessageBox.Show("生產排單資料" & gGetMessage(gMessageCode.SaveSuccess, ""), Me.Text, _
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                End If
            End If
        Catch ex As Exception            If ex.Message.Contains("DELETE 陳述式與 REFERENCE 條件約束") Then                MessageBox.Show(gGetMessage(gMessageCode.RefDeleteFailure, ""), Me.Text, _
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation)            ElseIf ex.Message.Contains("Cannot insert duplicate key") Then                MessageBox.Show(gGetMessage(gMessageCode.SaveFailure, "資料已存在!"), Me.Text, _
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation)            Else                MessageBox.Show(gGetMessage(gMessageCode.SaveFailure, ex.Message.Trim()), Me.Text, _
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation)            End If
        End Try
    End Sub