私はビジュアルスタジオでデスクトップアプリケーションに取り組んでいます。一部のセルの値が特定の範囲内にない行をデータグリッドビューで強調表示したい。たとえば、行の列 X に値を入力し、その値が 5 から 8 の間にない場合、行を別の色の赤で表示したいとします。
誰かがそれを行う方法を考えてください??
私はビジュアルスタジオでデスクトップアプリケーションに取り組んでいます。一部のセルの値が特定の範囲内にない行をデータグリッドビューで強調表示したい。たとえば、行の列 X に値を入力し、その値が 5 から 8 の間にない場合、行を別の色の赤で表示したいとします。
誰かがそれを行う方法を考えてください??
私はvb.netを知っているので、構文は少し異なりますが、次のようになります
For i As Integer = 0 To datagrid.Attributes.Count - 1
If somecondtion Then
datagrid.Columns.Item(i).CellStyle.BackColor = Color.somecolor
Else
datagrid.Columns.Item(i).CellStyle.BackColor = Color.othercolor
End If
Next
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex == -1) return;
int CellValue;
if (int.TryParse(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(),out CellValue))
{
if (CellValue < 5 && CellValue > 8)
{
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style = new DataGridViewCellStyle() { ForeColor = Color.Red };
}
}
イベントを使用して変更されたセルを確認し、CellSytle クラスを介してレイアウトを操作します。