按钮点击响应的代码: Private Sub btnleft_Click() Sub btnleft_Click(ByVal ARG1 As System.Object, ByVal ARG2 As System.EventArgs) Handles btnleft.Click Try 'public_COMFNC.LogErr("MSG801", 0, "頁移動処理(左)") lockcontrol() componentreadinpublicvariable() public_dsListData.Clear() If public_CN_ORA_CONN.CN_Cmd_Data(public_dsListData, _ public_lNowPageNumber - 1, _ public_sRadioChoosed, _ public_sListBoxChoosed, _ public_lCount, _ public_lPageNumber, _ public_lNowPageNumber, _ public_lPageCount) = False Then public_COMFNC.LogErr("MSG801", 1, "頁移動処理(左)") End If 'If public_lCount = 0 Then ' MsgBox("no data") 'End If labelupdate() unlockcontrol() public_COMFNC.LogErr("MSG801", 0, "頁移動処理(左)") Catch ex As Exception public_COMFNC.LogErr("MSG801", 1, "頁移動処理(左)") End Try End Sub Private Sub btnlefttop_Click() Sub btnlefttop_Click(ByVal ARG1 As System.Object, ByVal ARG2 As System.EventArgs) Handles btnlefttop.Click Try public_COMFNC.LogErr("MSG801", 0, "頁移動処理(左)") lockcontrol() componentreadinpublicvariable() public_dsListData.Clear() If public_CN_ORA_CONN.CN_Cmd_Data(public_dsListData, _ 1, _ public_sRadioChoosed, _ public_sListBoxChoosed, _ public_lCount, _ public_lPageNumber, _ public_lNowPageNumber, _ public_lPageCount) = False Then public_COMFNC.LogErr("MSG801", 1, "頁移動処理(左)") End If 'If public_lCount = 0 Then ' MsgBox("no data") 'End If labelupdate() unlockcontrol() public_COMFNC.LogErr("MSG801", 0, "頁移動処理(左)") Catch ex As Exception public_COMFNC.LogErr("MSG801", 1, "頁移動処理(左)") End Try End Sub ' 次のページと最後のページボタンを表示する Private Sub btnright_Click() Sub btnright_Click(ByVal ARG1 As System.Object, ByVal ARG2 As System.EventArgs) Handles btnright.Click Try lockcontrol() componentreadinpublicvariable() public_dsListData.Clear() If public_CN_ORA_CONN.CN_Cmd_Data(public_dsListData, _ public_lNowPageNumber + 1, _ public_sRadioChoosed, _ public_sListBoxChoosed, _ public_lCount, _ public_lPageNumber, _ public_lNowPageNumber, _ public_lPageCount) = False Then MsgBox("error") End If If public_lCount = 0 Then MsgBox("no data") End If labelupdate() unlockcontrol() Catch ex As Exception End Try End Sub Private Sub btnrightbottom_Click() Sub btnrightbottom_Click(ByVal ARG1 As System.Object, ByVal ARG2 As System.EventArgs) Handles btnrightbottom.Click Try lockcontrol() componentreadinpublicvariable() public_dsListData.Clear() If public_CN_ORA_CONN.CN_Cmd_Data(public_dsListData, _ public_lPageNumber, _ public_sRadioChoosed, _ public_sListBoxChoosed, _ public_lCount, _ public_lPageNumber, _ public_lNowPageNumber, _ public_lPageCount) = False Then MsgBox("error") End If If public_lCount = 0 Then MsgBox("no data") End If labelupdate() unlockcontrol() Catch ex As Exception End Try End Sub 共同内数据调用的方法和接口 Public Function CN_Cmd_Data() Function CN_Cmd_Data(ByRef p_ds_Top20 As DataSet, _ ByVal p_iPageNo As Long, _ ByVal p_sRadioButton As String, _ ByVal p_sListbox As String, _ ByRef p_lCount As Long, _ ByRef p_lPageNumber As Long, _ ByRef p_lNowPageNumber As Long, _ ByRef p_lPageCount As Long) As Boolean Try public_COMFNC.LogErr("MSG110", LogType.OperatingLog, "現在値データグリッド取得処理開始") Dim sSQL_Txt_All As String = "" Dim sSQL_Txt_20 As String = "" Dim sSql_Conn As String = "" Dim sTagkd As String = "" Dim sFlag As String = "" Dim sKJOCD As String = "" Dim lListCount, lPageno As Long Dim ds_All As New DataSet Dim RI_NEW As New ReadIni '◆DB接続初期化処理 START◆ If RI_NEW.CM_InitCon(sSql_Conn) = False Then Return False End If '◆Oracleコネクション◆ SysOraCon = New System.Data.OracleClient.OracleConnection(sSql_Conn) SysOraCon.Open() SysOraTran = SysOraCon.BeginTransaction() SysOraCommand = SysOraCon.CreateCommand SysOraCommand.Transaction = SysOraTran '◆DB接続初期化処理 END◆ '◆SELECT文作成 START◆ '◆0:アナログ、1:デジタルTAGKD◆ If p_sListbox = "0" Then sKJOCD = " " Else sKJOCD = " WSIG.KJOCD = '" & p_sListbox & "' and " End If If p_sRadioButton = "デジタル" Then sSQL_Txt_All = "select " & _ "count( TAGID) " & _ "from (select " & _ " WSIG.TAGID," & _ " rownum num1 " & _ " from WSIG, WGDI " & _ " WHERE " & _ sKJOCD & _ " WGDI.TAGID(+) = WSIG.TAGID) t " ElseIf p_sRadioButton = "アナログ" Then sSQL_Txt_All = "select " & _ "count( TAGID) " & _ "from (select " & _ " WSIG.TAGID," & _ " rownum num1 " & _ " from WSIG, WGAI " & _ " WHERE " & _ sKJOCD & _ " WGAI.TAGID(+) = WSIG.TAGID) t " End If SysOraCommand.CommandText = sSQL_Txt_All '◆アダプター作成◆ SysOraAdapter = New System.Data.OracleClient.OracleDataAdapter SysOraAdapter.SelectCommand = SysOraCommand '◆SQL実行◆ ds_All.Reset() SysOraAdapter.Fill(ds_All) lListCount = CLng(ds_All.Tables(0).Rows(0).Item(0).ToString) p_lCount = lListCount '◆データ総数の取得 END◆ '◆毎頁に表示するデータの数◆ p_lPageCount = RI_NEW.GetPageCount Dim iMod As Int16 iMod = lListCount Mod p_lPageCount '◆ページ総数 START◆ If p_lCount > 0 Then If iMod = 0 Then lPageno = lListCount / p_lPageCount Else lPageno = Int(lListCount / p_lPageCount) + 1 End If Else lPageno = 0 End If p_lPageNumber = lPageno '◆ページ総数 END◆ If p_iPageNo < 0 Then Return False End If '◆◆ If p_iPageNo >= lPageno Then sFlag = "rightbottom" p_lNowPageNumber = lPageno ElseIf p_iPageNo <= 1 Then sFlag = "lefttop" p_lNowPageNumber = 1 Else sFlag = "left" p_lNowPageNumber = p_iPageNo End If If p_sRadioButton = "デジタル" Then sSQL_Txt_20 = "SELECT " & _ "T.TAGID AS 信号コード, " & _ "T.KEINM AS 系列名称, " & _ "T.KJONM AS 機場名称, " & _ "T.STBNM AS 設備名称, " & _ "T.DATNM AS 信号名称, " & _ "T.PANDUAN AS 現在値, " & _ "T.PANDUAN2 AS 動作単位 " & _ "FROM (SELECT " & _ " WSIG.TAGID, " & _ " WSIG.KEINM, " & _ " WSIG.KJONM, " & _ " WSIG.STBNM, " & _ " WSIG.DATNM, " & _ " WSIG.TANNM, " & _ " ROWNUM NUM1, " & _ " CASE " & _ " WHEN WSIG.CHKBT = 0 " & _ " THEN " & _ " CASE " & _ " WHEN WGDI.DIDAT = '0' " & _ " THEN 'OFF' " & _ " ELSE " & _ " 'ON' " & _ " END " & _ " WHEN WSIG.CHKBT = 1 " & _ " THEN " & _ " CASE " & _ " WHEN WGDI.DIDAT = '1' " & _ " THEN 'OFF' " & _ " ELSE " & _ " 'ON' " & _ " END " & _ " ELSE " & _ " '' " & _ " END " & _ " AS PANDUAN, " & _ " CASE " & _ " WHEN WSIG.CHKBT = 0 " & _ " THEN " & _ " CASE " & _ " WHEN WGDI.DIDAT = '0' " & _ " THEN " & _ " CASE " & _ " WHEN WSIG.FKYNM ='1' " & _ " THEN " & _ " WSIG.HATNM " & _ " ELSE " & _ " '' " & _ " END " & _ " ELSE " & _ " '' " & _ " END " & _ " WHEN WSIG.CHKBT = 1 " & _ " THEN " & _ " CASE " & _ " WHEN WGDI.DIDAT = '0' " & _ " THEN " & _ " CASE " & _ " WHEN WSIG.HATNM ='1' " & _ " THEN " & _ " WSIG.FKYNM " & _ " ELSE " & _ " '' " & _ " END " & _ " ELSE " & _ " '' " & _ " END " & _ " ELSE " & _ " '' " & _ " END " & _ " AS PANDUAN2 " & _ " FROM WSIG,WGDI " & _ " WHERE " & _ sKJOCD & _ " WGDI.TAGID(+) = WSIG.TAGID) t " ElseIf p_sRadioButton = "アナログ" Then sSQL_Txt_20 = "SELECT " & _ "T.TAGID AS 信号コード, " & _ "T.KEINM AS 系列名称, " & _ "T.KJONM AS 機場名称, " & _ "T.STBNM AS 設備名称, " & _ "T.DATNM AS 信号名称, " & _ "T.PANDUAN AS 現在値, " & _ "T.TANNM AS 動作単位 " & _ "FROM (SELECT " & _ " WSIG.TAGID, " & _ " WSIG.KEINM, " & _ " WSIG.KJONM, " & _ " WSIG.STBNM, " & _ " WSIG.DATNM, " & _ " WSIG.TANNM, " & _ " (WGAI.AIDAT / power(10,WSIG.TENPS)) " & _ " PANDUAN, " & _ " ROWNUM NUM1 " & _ " FROM WSIG,WGAI " & _ " WHERE " & _ sKJOCD & _ " WGAI.TAGID(+) = WSIG.TAGID) t " End If If sFlag = "first" Or sFlag = "lefttop" Then 'go to the top page sSQL_Txt_20 = sSQL_Txt_20 & " where num1 <= " & RI_NEW.GetPageCount.ToString ElseIf sFlag = "left" Or sFlag = "right" Then 'go to the last page Dim lLeftCount, lRightCount As Long lLeftCount = (p_iPageNo - 1) * RI_NEW.GetPageCount + 1 lRightCount = p_iPageNo * RI_NEW.GetPageCount sSQL_Txt_20 = sSQL_Txt_20 & " where num1 >= " & lLeftCount.ToString & " and num1 <= " & lRightCount.ToString ElseIf sFlag = "rightbottom" Then 'go to the bottom page Dim lLastCount As Long = 0 lLastCount = lListCount Mod RI_NEW.GetPageCount If lLastCount = 0 Then sSQL_Txt_20 = sSQL_Txt_20 & " where num1 > " & (lListCount - RI_NEW.GetPageCount).ToString Else sSQL_Txt_20 = sSQL_Txt_20 & " where num1 > " & (lListCount - lLastCount).ToString End If End If '◆SELECT文作成 END◆ SysOraCommand.CommandText = sSQL_Txt_20 '◆アダプター作成◆ SysOraAdapter = New System.Data.OracleClient.OracleDataAdapter SysOraAdapter.SelectCommand = SysOraCommand '◆SQL実行◆ p_ds_Top20.Reset() SysOraAdapter.Fill(p_ds_Top20) public_COMFNC.LogErr("MSG111", LogType.OperatingLog, "現在値データグリッド取得処理終了") Return True Catch ex As Exception public_COMFNC.LogErr("MSG112", LogType.SystemError, "現在値データグリッド取得処理システムエラー") Return False Finally '◆Oracleデータベースクローズ処理◆ '12 作成したオブジェクトを削除して、資源を解放する SysOraTran.Dispose() SysOraCon.Dispose() SysOraCon.Close() End Try End Function