DataSet - 存取dataset 的資料

  • 1991
  • 0
  • 2008-11-06

摘要:DataSet

 

 

pdsSQLFeeCode.Tables(0).Rows(liDataSetRow).Item("Hr_Remarks") = "123"

template 1

 

    Public Function SearchLabRequest(ByVal psSearchName As String, ByRef pGrid As C1.Win.C1FlexGrid.C1FlexGrid) As Boolean

        Try

            If psSearchName = BLANK Then Exit Function

            Dim lTable As System.Data.DataTable
            lTable = mdsLAFeeCode.Tables(msLAFeeCodeTablename)

            lTable.DefaultView.RowFilter = "Examination like '%" & psSearchName & "%'"

            pGrid.DataSource = lTable.DefaultView
            pGrid.DrawMode = C1.Win.C1FlexGrid.DrawModeEnum.OwnerDraw
            pGrid.AutoSizeCols()
            pGrid.BringToFront()
            pGrid.Show()

            lTable.Dispose()

        Catch Err As Exception
            Call ErrHandler(Err.Message, APP_NAME)
        End Try
    End Function

 

 

    Public Function SearchLabRequest2(ByVal psSearchName As String, ByRef pGrid As C1.Win.C1FlexGrid.C1FlexGrid) As Boolean

        Try

            Dim liGrdRow As Integer
            Dim liLabRequestCount As Integer = mdsLAFeeCode.Tables(msLAFeeCodeTablename).Rows.Count
            Call ClearGrid(pGrid)

            psSearchName = vntFixNull(UCase(psSearchName))

            For liArrRow As Integer = 0 To liLabRequestCount - 1

                If (mdsLAFeeCode.Tables(msLAFeeCodeTablename).Rows(liArrRow).Item("Fee_Code_EngDesc").ToString().ToUpper.IndexOf(psSearchName) > -1) Then

                    pGrid.Rows.Add()
                    liGrdRow = pGrid.Rows.Count - pGrid.Rows.Fixed()
                    pGrid.Item(liGrdRow, "FeeCode") = mdsLAFeeCode.Tables(msLAFeeCodeTablename).Rows(liArrRow).Item("Fee_Code").ToString()
                    pGrid.Item(liGrdRow, "FeeCodeDesc") = mdsLAFeeCode.Tables(msLAFeeCodeTablename).Rows(liArrRow).Item("Fee_Code_EngDesc").ToString()

                End If

            Next liArrRow

            pGrid.DrawMode = C1.Win.C1FlexGrid.DrawModeEnum.OwnerDraw
            pGrid.AutoSizeCols()
            pGrid.BringToFront()
            pGrid.Show()

        Catch Err As Exception
            Call ErrHandler(Err.Message, APP_NAME)
        End Try
    End Function

template 2

 


    Private Sub FillGridDoctor()

        Try

            If msDoctorOtherCode = BLANK Then Exit Sub

            Call ClearGrid(Me.grdDoctor)

            Dim liGrdRow As Integer
            For Each DataRow As System.Data.DataRow In mdsDoctor.Tables("Doctor").Select("Doctor_Code in (" & Me.msDoctorOtherCode & ")")

                Me.grdDoctor.Rows.Add()
                liGrdRow = Me.grdDoctor.Rows.Count - Me.grdDoctor.Rows.Fixed()
                Me.grdDoctor.Item(liGrdRow, "DrCode") = DataRow("Doctor_code")
                Me.grdDoctor.Item(liGrdRow, "DrName") = DataRow("Doctor_Name")

            Next


        Catch Err As Exception
            Call ErrHandler(Err.Message, APP_NAME)
        End Try
    End Sub

 


因為dataset 會根據field size 而定有幾多空位
所以 當field size = 5 , 而 feecode 只得4個位 ,
就會有一格係space

所以不能直接用 fee_code = lsfeecode,
要改以以下的code來handle.

                            For Each DataRow As System.Data.DataRow In Me.mdsPriceTurnTime.Tables("PriceTurnTime").Select("Fee_Code like '%" & lsFeeCode & "%'")

                                If vntFixNull(DataRow("Fee_Code")) = lsFeeCode Then
                                    Me.grdLabOrderDetail.Item(liGridRow, "Price") = DataRow("Price")
                                    Me.grdLabOrderDetail.Item(liGridRow, "TurnTime") = DataRow("Turn_Time")
                                End If
                            Next

 

 

 

------------------

熱愛生命 喜愛新奇 有趣的事物

 

過去 是無法改變
將來 卻能夠創造

 

希望使大家生活更便利
世界更美好

 

a guy who loves IT and life