DataGrid + Session

   '********************************************************************
    '*  サーブ過程名   : GridBind
    '*  処理内容     : データ バインド
    '*  引き数      : なし
    '*  戻り値      : Boolean
    '*  作成日付     : 2006/9/21
    '*  作成者      : 
    '********************************************************************
    Private Function GridBind() As Boolean
        
On Error GoTo ERR_FLAG

        
Dim strSql As String = ""

        
Dim dSet As New DataSet
        
Dim dTbl As New DataTable

        GridBind 
= False

        
'画面をチェック
        If Not checkCode() Then
            
GoTo ERR_FLAG
        
End If

        
'バーコードを取る
        grdChkStr = Right(Trim(txt_code.Text), 8)

        
'バーコードが登録しました
        If Not grdItemChk() Then
            
GoTo ERR_FLAG
        
End If

        strSql 
= " "
        strSql 
&= "  Select  G02発注.C_GYOU AS C_GYOU,         "
        strSql 
&= "          CD業者地域.CodeName AS CodeName,  "
        strSql 
&= "          G02発注.C_KJ AS C_KJ ,            "
        strSql 
&= "          G02発注.C_ORDER AS C_ORDER,       "
        strSql 
&= "          J29契約.N_KJ AS N_KJ,             "

        
'発注金額(税込)を計算する:M_ORDER+ N_YOBI1
        strSql &= "          (CONVERT(FLOAT,G02発注.M_ORDER)+CONVERT(FLOAT,G02発注.N_YOBI1))       AS Order_Money,   "
        strSql 
&= "          CONVERT(CHAR, G02発注.D_ORDER, 111) AS D_ORDER,       "
        strSql 
&= "          CONVERT(CHAR, G02発注.D_JYURYOU, 111)AS D_JYURYOU    "
        strSql 
&= "  From    G02発注   "
        strSql 
&= "          LEFT OUTER JOIN CD業者地域                "
        strSql 
&= "               ON G02発注.C_GYOU = CD業者地域.Code  "
        strSql 
&= "          LEFT OUTER JOIN J29契約                   "
        strSql 
&= "               ON G02発注.C_KJ = J29契約.C_KJ       "
        strSql 
&= "  Where   1 = 1  "
        strSql 
&= "          AND G02発注.C_ORDER  = '" & grdChkStr & "'   "
        strSql 
&= "          AND G02発注.C_NOUHIN = '1'  "
        strSql 
&= "  "

        
'With dTbl.Columns
        '    .Add(New DataColumn("C_GYOU", GetType(String)))
        '    .Add(New DataColumn("CodeName", GetType(String)))
        '    .Add(New DataColumn("C_KJ", GetType(String)))
        '    .Add(New DataColumn("C_ORDER", GetType(String)))
        '    .Add(New DataColumn("N_KJ", GetType(String)))
        '    .Add(New DataColumn("Order_Money", GetType(String)))
        '    .Add(New DataColumn("D_ORDER", GetType(String)))
        '    .Add(New DataColumn("D_JYURYOU", GetType(String)))
        'End With

        dSet 
= Me.DBCommon.ADONETGetDataSetfromSQL(strSql)

        
If dSet.Tables(0).Rows.Count = 0 Then
            
GoTo ERR_FLAG
        
End If

        
'Change the datagrid's datasource
        dTbl = addData(dSet)

        
Me.grd_list.DataSource = dTbl
        
Me.grd_list.DataBind()

        
'Default is checked
        Dim rdoChk As New HtmlControls.HtmlInputRadioButton
        rdoChk 
= CType(Me.grd_list.Items(0).FindControl("rdoChoise"), HtmlInputRadioButton)
        rdoChk.Checked 
= True


        
'TextBox DataBind
        Call TxtBoxBind(dTbl)
        
'背景をピンク色にする
        Call setPink(dTbl)

        dSet.Clear()
        GridBind 
= True
        
Exit Function

ERR_FLAG:
        
If Not dSet Is Nothing Then
            dSet.Clear()
        
End If
        GridBind 
= False
        
Exit Function
    
End Function



    
'********************************************************************
    '*  サーブ過程名   : setColumns
    '*  処理内容     : setColumns
    '*  引き数      : なし
    '*  戻り値      : なし
    '*  作成日付     : 2006/9/21
    '*  作成者      : 
    '********************************************************************
    Private Function setColumns() As DataTable
        
'データソースのカラムの設定
        Dim dTbl As DataTable
        dTbl 
= New DataTable
        
With dTbl.Columns
            .Add(
New DataColumn("C_GYOU"GetType(String)))
            .Add(
New DataColumn("CodeName"GetType(String)))
            .Add(
New DataColumn("C_KJ"GetType(String)))
            .Add(
New DataColumn("C_ORDER"GetType(String)))
            .Add(
New DataColumn("N_KJ"GetType(String)))
            .Add(
New DataColumn("Order_Money"GetType(String)))
            .Add(
New DataColumn("D_ORDER"GetType(String)))
            .Add(
New DataColumn("D_JYURYOU"GetType(String)))
        
End With
        setColumns 
= dTbl
    
End Function


    
'********************************************************************
    '*  サーブ過程名   : TxtBoxBind
    '*  処理内容     : データ バインド
    '*  引き数      : ByVal dTbl As DataTable
    '*  戻り値      : 
    '*  作成日付     : 2006/9/21
    '*  作成者      : 
    '********************************************************************
    Sub TxtBoxBind(ByVal dTbl As DataTable)
        
On Error GoTo ERR_FLAG

        
Dim txtBox As TextBox
        
Dim intI As Integer

        
For intI = 0 To dTbl.Rows.Count - 1
            
If dTbl.Rows(intI).Item("D_JYURYOU"<> "" Then
                txtBox 
= Me.grd_list.Items(intI).FindControl("txt_grddate")
                txtBox.Text 
= Trim(dTbl.Rows(intI).Item("D_JYURYOU"))
                
'Me.grd_list.Items(intI).BackColor = Color.Pink
            Else
                txtBox 
= Me.grd_list.Items(intI).FindControl("txt_grddate")
                txtBox.Text 
= Me.txt_date.Text.Trim().ToString()
            
End If
        
Next
        
Exit Sub

ERR_FLAG:
        
Exit Sub
    
End Sub



    
'********************************************************************
    '*  サーブ過程名   : setpink
    '*  処理内容     : setpink
    '*  引き数      : なし
    '*  戻り値      : なし
    '*  作成日付     : 2006/9/22
    '*  作成者      : 
    '********************************************************************
    Sub setPink(ByVal dTbl As DataTable)
        
On Error GoTo ERR_FLAG
        
Dim intJ As Integer = 0
        
Dim txt As TextBox

        
For intI As Integer = 0 To dTbl.Rows.Count - 1
            
If dTbl.Rows(intI).Item("D_JYURYOU"<> "" Then
                
Me.grd_list.Items(intI).BackColor = Color.Pink
                
Me.grd_list.Items(intI).Cells(8).BackColor = Color.Pink
                txt 
= CType(Me.grd_list.Items(intI).FindControl("txt_grddate"), TextBox)
                txt.BackColor 
= Color.Pink
            
End If
        
Next

        
Exit Sub

ERR_FLAG:
        
Exit Sub
    
End Sub



    
    
'********************************************************************
    '*  サーブ過程名   : addData
    '*  処理内容     : addData
    '*  引き数      : なし
    '*  戻り値      : 
    '*  作成日付     : 2006/9/21
    '*  作成者      : 
    '********************************************************************
    Private Function addData(ByVal dSet As DataSet) As DataTable
        
On Error GoTo ERR_FLAG

        
Dim dTbl As New DataTable
        
Dim dRow As DataRow
        
Dim sesTemp As New clsSession

        sesTemp.GetSession(
"WG52_DT", dTbl)

        
If dTbl Is Nothing Then
            dTbl 
= setColumns()
        
End If

        dRow 
= dTbl.NewRow()


        
If Not setRow(dSet, dRow) Then
            
GoTo ERR_FLAG
        
End If
        dTbl.Rows.InsertAt(dRow, 
0)
        
'dTbl.Rows.Add(dRow)
        dTbl.AcceptChanges()

        sesTemp.SetSession(
"WG52_DT", dTbl)

        addData 
= dTbl
        
Exit Function
ERR_FLAG:
        addData 
= Nothing
        
Exit Function
    
End Function



    
'***************************************************************************************
    '*  サーブ過程名   : setRow
    '*  引き数      : なし
    '*  戻り値      : boolean
    '*  作成日付     : 2006/09/22
    '*  作成者      : 
    '***************************************************************************************
    Function setRow(ByVal dSet As DataSet, ByRef dr As DataRow) As Boolean
        
On Error GoTo ERR_FLAG

        setRow 
= False
        dr(
"C_GYOU"= NullToString(dSet.Tables(0).Rows(0).Item("C_GYOU"))
        dr(
"CodeName"= NullToString(dSet.Tables(0).Rows(0).Item("CodeName"))
        dr(
"C_KJ"= NullToString(dSet.Tables(0).Rows(0).Item("C_KJ"))
        dr(
"C_ORDER"= NullToString(dSet.Tables(0).Rows(0).Item("C_ORDER"))
        dr(
"N_KJ"= NullToString(dSet.Tables(0).Rows(0).Item("N_KJ"))
        dr(
"Order_Money"= Format(NullToString(dSet.Tables(0).Rows(0).Item("Order_Money")), "###,###,##0")
        dr(
"D_ORDER"= NullToString(dSet.Tables(0).Rows(0).Item("D_ORDER"))
        dr(
"D_JYURYOU"= NullToString(dSet.Tables(0).Rows(0).Item("D_JYURYOU"))
        setRow 
= True

        
Exit Function
ERR_FLAG:
        setRow 
= False
    
End Function
posted @ 2006-09-25 18:30 BoyLee 阅读(66) 评论(2)  编辑 收藏 所属分类: Asp.Net

  回复  引用  查看    
#1楼 2007-07-20 12:48 | temptation      
看这vb.net的代码 和 vb的真没什么区别
  回复  引用  查看    
#2楼 [楼主]2007-07-20 13:14 | BoyLee      
@temptation
是啊.这个是去年刚进公司,作的第一个页面.
今天上午机器被和谐了.GHOST恢复了几次,还是有病毒.......

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-03-24 13:50 编辑过
 
另存  打印