C# 如何更改datagrid中大于零值的单元格的颜色
C# 如何更改datagrid中大于零值的单元格的颜色,c#,winforms,sql-server-2008,C#,Winforms,Sql Server 2008,在此处输入代码我在网格中有两个单元格,当我在其他单元格中输入大于零值的值时,我想将一个单元格的颜色和值更改为零 private void grdDetail_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) { if (this.IsLoadComplete) { UpdateValueofQtyCell(
在此处输入代码
我在网格中有两个单元格,当我在其他单元格中输入大于零值的值时,我想将一个单元格的颜色和值更改为零
private void grdDetail_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
{
if (this.IsLoadComplete)
{
UpdateValueofQtyCell(e.ColumnIndex);
}
}
private void UpdateValueofQtyCell(int index)
{
int cur_row = grdDetail.CurrentRow.Index;
if (index == 1)
{
grdDetail[1, cur_row].Style.BackColor = Color.White;
grdDetail[2, cur_row].Style.BackColor = Color.FromArgb(224, 224, 224);
grdDetail[2, cur_row].Value = 0;
}
else if (index == 1)
{
grdDetail[2, cur_row].Style.BackColor = Color.White;
grdDetail[1 cur_row].Style.BackColor = Color.FromArgb(224, 224, 224);
grdDetail[1, cur_row].Value = 0;
}
}
您可以使用以下代码:
for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
{
if (dataGridView1.Rows[i].Cells[0].Value.ToString() != "0")
{
dataGridView1.Rows[i].Cells[0].Style.BackColor = Color.Yellow;
}
}
for(int i=0;i
在类级别创建以下变量
bool IsAnyGreaterThanZero = false;
然后调用下面的第一个函数,该函数告诉您是否有任何单元格值大于零
private void CheckForGreaterThanZero()
{
for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
{
if ((int)dataGridView1.Rows[i].Cells[0].Value > 0)
{
IsAnyGreaterThanZero = true;
}
}
}
CreateThanzero()的私有无效检查
{
对于(int i=0;i0)
{
IsAnyGreaterThanZero=真;
}
}
}
然后调用下面的函数来更改值等于零的单元格的颜色
private void ChangeOtherCellColor()
{
if(IsAnyGreaterThanZero)
{
for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
{
if ((int)intdataGridView1.Rows[i].Cells[0].Value == 0)
{
DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
CellStyle.BackColor = Color.Red;
dataGridView1.Rows[i].Cells[0].Style = CellStyle;
}
}
}
}
private void ChangeOtherCellColor()
{
如果(i大于零)
{
对于(int i=0;i
到目前为止,您尝试了哪些不起作用的内容?私有void grddeail_CellBeginEdit(对象发送方,DataGridViewCellCancelEventArgs e){if(this.IsLoadComplete){UpdateValueofQtyCell(e.ColumnIndex);}事实上,我已经完成了上面给出的代码,但问题是,当我放入上次保存的值时,网格单元格颜色不出现。您可以将其放入:void dataGridView1_CellEndEdit(对象发送方,DataGridViewCellEventArgs e){……}如果一个单元格的值大于零值,我希望更改另一个单元格的颜色,该单元格的颜色为零value@minu您可以尝试事件void dataGridView1\u CellFormatting(对象发送者,DataGridViewCellFormattingEventArgs e)我不知道你的代码Wajid Ali先生,但当加载最后一个值单元格颜色时,我如何在另一个页面win应用程序上获得一个页面gridview值