怪事:datagridview编辑列时,移动过列的位置,现在列索引与实际的对应关系错了
我想根据某列的内容,设定表格行的颜色,但是现在不对了
dgr.Cells[12].Value.ToString() == "1"
如上,第12列绝对是呀,但是Cells[12]好像并不是 第12列了(基于0)
//高亮显示
private void DataGrid1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
{
if (e.RowIndex > DataGrid1.Rows.Count - 1)
return; DataGridViewRow dgr = DataGrid1.Rows[e.RowIndex];
try
{
for (int i = 0; i < DataGrid1.Rows.Count; i++)
{
//dgr.Cells[12]是状态标志
if (dgr.Cells[12].Value.ToString() == "1" )
{
//dgr.DefaultCellStyle.BackColor = Color.Red;
dgr.DefaultCellStyle.ForeColor = Color.Blue;
}
else if (dgr.Cells[12].Value.ToString() == "2" )
{
//冲销标志为0,但是被冲销号不是0,则说明是被冲的记录,令其为绿色
dgr.DefaultCellStyle.ForeColor = Color.Red;
} if (dgr.Cells[14].Value.ToString() == "√")
{
dgr.DefaultCellStyle.BackColor = Color.LightBlue;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
我想根据某列的内容,设定表格行的颜色,但是现在不对了
dgr.Cells[12].Value.ToString() == "1"
如上,第12列绝对是呀,但是Cells[12]好像并不是 第12列了(基于0)
//高亮显示
private void DataGrid1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
{
if (e.RowIndex > DataGrid1.Rows.Count - 1)
return; DataGridViewRow dgr = DataGrid1.Rows[e.RowIndex];
try
{
for (int i = 0; i < DataGrid1.Rows.Count; i++)
{
//dgr.Cells[12]是状态标志
if (dgr.Cells[12].Value.ToString() == "1" )
{
//dgr.DefaultCellStyle.BackColor = Color.Red;
dgr.DefaultCellStyle.ForeColor = Color.Blue;
}
else if (dgr.Cells[12].Value.ToString() == "2" )
{
//冲销标志为0,但是被冲销号不是0,则说明是被冲的记录,令其为绿色
dgr.DefaultCellStyle.ForeColor = Color.Red;
} if (dgr.Cells[14].Value.ToString() == "√")
{
dgr.DefaultCellStyle.BackColor = Color.LightBlue;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
解决方案 »
- 关于Microsoft.Data.ConnectionUI.Dialog里添加DB2的连接
- 无边窗口在windows7下的拖拽
- ^v^图片转换二进制后保存错误
- 用C#的WinForm开发一个刷屏组件(请大家帮忙想想,鞠躬)
- C# 调用VC++编写的DLL 的问题
- 如何 较好的控制form的关闭
- ###详解如何在GridView中显示图片或链接(当不能确定哪一列中含有图片或链接时)###
- 我要根据关键字查书名,比如,文本框输入ba,则书名:basic要出来。这个sql语句
- 实时工控绘图用什么方式比较好?
- 求高手啊,如何用C#语言实现matlab中的二次规划quadprog工具箱功能?
- 请问,在《CLR via c#》关于线程的介绍,里面有“计算限制”一词,是什么意思呢?
- FTP读取列表是什么格式的?中文读出来是乱码
可是,我不明白,为何索引,会错位呢?在编辑列中从上到下数,基于0,
我算的没错呀。可是
cell[i]对应的就不是 第 i 列。如果对列 没有进行过 删除,移位等,是正常的。
可是只要有过移位,等操作,好像就乱了。这是为什么呢?遇到多次了。