私の会社が現在出荷していない現在のマシンを示すGridView1があります。各行のCell0には、マシンのシリアル番号が表示されます。番号は機械的には[.000]、電気的には.00Eで終わります。機械製品内では、[STD]、[BLD]、[TLG]、[DIE]の4つのカテゴリに分類されます。 GridView1には何の問題もありません。GridViewの最後の行のセルには色がついていません
私はVisual Studio 2010を使用していますが、VBではC#ではなくコーディングしています。私はマシンが[.000]か[.00E]であるかどうかに応じてcell0の背景を色分けしています。また、[STD]、[BLD]、[TLG]または[DIE]のカテゴリも色分けしています。すべての色が一致するように動作します。何がうまくいかないのは、GridView1の最後のロールをcell0の背景色にすることができないということです。それは白のままです。
私は正しく閉じていないか、最後にコードを忘れていませんか?
ここでは、魔法が発生するコードを示します。
If e.Row.RowType = DataControlRowType.DataRow Then
For Each er As GridViewRow In GridView1.Rows
'Get the Serial Number out of the first column
Dim TrimmedJN As String
TrimmedJN = Trim(er.Cells(0).Text)
Session("JNPerRow") = TrimmedJN
SqlDataSource4.DataBind()
GridView_Code.DataBind()
Dim TrimmedCode As String
TrimmedCode = GridView_Code.Rows(0).Cells(0).Text
If TrimmedJN.EndsWith("00") And TrimmedCode = "TLG" Then
er.Cells(0).BackColor = Drawing.Color.Orange
ElseIf TrimmedJN.EndsWith("00") And TrimmedCode = "BLD" Then
er.Cells(0).BackColor = Drawing.Color.Orange
ElseIf TrimmedJN.EndsWith("00") And TrimmedCode = "DIE" Then
er.Cells(0).BackColor = Drawing.Color.Pink
'Makes everything else light green
Else : er.Cells(0).BackColor = Drawing.Color.LightGreen
End If
'Overrides the green to be yellow for Electrical
If TrimmedJN.EndsWith("0E") Then
er.Cells(0).BackColor = Drawing.Color.Yellow
End If
Next
End If
コードを試したが、最初は機能しませんでした。その後私は、シリアル番号(私たちはそれをジョブ番号と呼んでいます)を15文字で引っ張っていて、それに余分なスペースがあって、それがどのように終わったのか(00か0E)間違っていたことを認識しました。私は[Dim cellValue As String = trim(row( "JOBNUM")。ToString)]という簡単なトリムを行い、それは魅力的に機能しました。それは関連した別のレポートの報告問題を解決しました。あなた、私の友人は天才です。助けてくれてありがとう。 – CVensel