2017-03-28 10 views
0

VB.net webformは、SQLデータベースからgridviewにデータを取り込みます。VB.net Webform Gridviewチェックボックス付きDataControlRowType

私は2つのビット列を持っています。ラッシュとノーマル - ラッシュがチェックされていれば、行のセルは赤に変わり、ノーマルは青に変わります。

私が持っている問題は、TrueまたはFalseで、IntegerまたはInt32に変換するのが大変でないことです。ここで

は1

にセル7が等しくない場合、私は、セルを急いで行けば私が働いているコードは、このコードが正しい形式で(10)、ブルーエラー入力文字列をすべての行をしませ回しです。

質問は、ビットをTrue/Falseから1/0または正しい形式に変換する方法です。

Protected Sub OnRowDataBound(sender As Object, e As GridViewRowEventArgs) 

    If e.Row.RowType = DataControlRowType.DataRow Then 

     Dim sh As String = Convert.ToInt32(e.Row.Cells(7).Text) 

     For Each cell As TableCell In e.Row.Cells 
      If sh = 1 Then 
       cell.BackColor = Drawing.Color.Red 
      Else 
       cell.BackColor = Drawing.Color.Blue 

      End If 

     Next 


    End If 



End Sub 
+0

はあなたのASPXページのコード –

+0

こっちステータスフォームを投稿、またはフォームを挿入し、またこのページに多くのコードを追加する方法を – Lookup12

答えて

0

は、代わりにブールを戦って、私は 整数にセルを変更することを決めました。確認して、あなたの考えを教えてください。それが動作 、ラッシュの受注は赤と正常である青..です

Protected Sub OnRowDataBound(sender As Object, e As GridViewRowEventArgs) 


    If e.Row.RowType = DataControlRowType.DataRow Then 
     Dim Chkb As Integer = (e.Row.DataItem(10)) 

     For Each cell As TableCell In e.Row.Cells 
      If Chkb = -1 Then 
       cell.BackColor = Drawing.Color.Red 
      Else 
       cell.BackColor = Drawing.Color.Blue 

      End If 

     Next 


    End If 



End Sub 
0

なぜビット列を持っている場合は、整数に変換するのか、以下のコードを試してみてください。私はここでそれを持っていると思う

Protected Sub OnRowDataBound(sender As Object, e As GridViewRowEventArgs) 
If e.Row.RowType = DataControlRowType.DataRow Then 
    Dim sh As Boolean = Convert.ToBoolean(e.Row.Cells(7).Text) 
    For Each cell As TableCell In e.Row.Cells 
     If sh Then 
      cell.BackColor = Drawing.Color.Red 
     Else 
      cell.BackColor = Drawing.Color.Blue 
     End If 
    Next 
End If 
End Sub 
+0

例外くださいすることができますエラー文字列が有効なブール値として認識されない – Lookup12

関連する問題