解决:将设置dataGridView1单元格背景颜色的代码放入RowPostPaint或RowPrePaint中,RowPostPaint在绘制dataGridView后发生,RowPrePaint在绘制dataGridView前发生

其中在 CellPainting 下才有 e.ColumnIndex 这样才能定位到单独表格
private void DGV_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.ColumnIndex >= 0 && e.RowIndex >=0)
{
DataGridViewRow dgr = DGV.Rows[e.RowIndex];
ChangciInfo ThisInfo = dgr.DataBoundItem as ChangciInfo;
if (e.ColumnIndex == 2)
{
if (ThisInfo.HongId == ThisInfo.ShengFangId)
{
dgr.Cells[e.ColumnIndex].Style.BackColor = Color.LightSalmon;
}
else
{
dgr.Cells[e.ColumnIndex].Style.BackColor = Color.Red;
}
}
if (e.ColumnIndex == 3)
{
if (ThisInfo.LanId == ThisInfo.ShengFangId)
{
dgr.Cells[e.ColumnIndex].Style.BackColor = Color.LightSalmon;
}
else
{
dgr.Cells[e.ColumnIndex].Style.BackColor = Color.Blue;
}
}
}
}
按条件显示单元格底色
单元格底色
dgr.Cells[e.ColumnIndex].Style.BackColor = Color.LightSalmon;
//包含Header全部的单元格的背景色为黄色
DataGridView1.DefaultCellStyle.BackColor = Color.Yellow;
//包含Header全部的单元格的前景色为黄色
DataGridView1.DefaultCellStyle.ForeColor= Color.Yellow; //前景色设置,只须要将BackColor改成ForeColor便可
// Header之外全部的单元格的背景色为黄色
DataGridView1.RowsDefaultCellStyle.BackColor = Color.Yellow;
//(0, 0)单元格的背景色为粉色
DataGridView1[0, 0].Style.BackColor = Color.Pink;
//索引0列的单元格的背景色为淡蓝色
DataGridView1.Columns[0].DefaultCellStyle.BackColor = Color.Aqua;
//索引0行的单元格的背景色为淡灰色
DataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.LightGray;
变动奇数行的单元格Style
DataGridView.AlternatingRowsDefaultCellStyle属性,能够变动DataGridView的奇数行的单元格 Style。
以下面的例子,奇数行的单元格的背景色设定为黄绿色ci
1
2
//奇数行的单元格的背景色为黄绿色
DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.GreenYellow;
6.变动列Header、行Header的单元格Style
列Header的单元格style的变动,能够使用,DataGridView.ColumnHeadersDefaultCellStyle属性实现。行 Header的单元格Style的变动,能够使用DataGridView.RowHeadersDefaultCellStyle属性实现。可是,Header 的是左侧的单元格须要经过DataGridView.TopLeftHeaderCell属性,取得的DataGridViewHeaderCell对象的单 元格Style进行设定。
以下面的例子,列Header的背景色为象牙色,行Header的背景色为橙色。table
//列Header的背景色为象牙色
DataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Ivory;
//行Header的背景色为橙色
DataGridView1.RowHeadersDefaultCellStyle.BackColor = Color.Lime;
补充:每一个Header单元格的单元格Style,能够使用这一些的方法取得,和通常的单元格同样,能够使用Style 属性变动,简而言之,就是个能够对每一个单元格进行个性化设置。class
关于优先顺序方法
设定单元格Style的属性有优先顺序的。顺序从高到低以下所示。
1). DataGridViewCell.Style
2). DataGridViewRow.DefaultCellStyle
3). DataGridView.AlternatingRowsDefaultCellStyle
4). DataGridView.RowsDefaultCellStyle
5). DataGridViewColumn.DefaultCellStyle
6). DataGridView.DefaultCellStyle
接下来是Header的单元格Style属性的优先顺序。
1). DataGridViewCell.Style
2). DataGridView.RowHeadersDefaultCellStyle
3). DataGridView.ColumnHeadersDefaultCellStyle
4). DataGridView.DefaultCellStyle
单元格自己的设定的Style是最优先的。
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
如何使用Ruby的默认Curses库获取颜色?所以像这样:puts"\e[0m\e[30;47mtest\e[0m"效果很好。在浅灰色背景上呈现漂亮的黑色。但是这个:#!/usr/bin/envrubyrequire'curses'Curses.noecho#donotshowtypedkeysCurses.init_screenCurses.stdscr.keypad(true)#enablearrowkeys(forpageup/down)Curses.stdscr.nodelay=1Curses.clearCurses.setpos(0,0)Curses.addstr"Hello
状态:我正在构建一个应用程序,其中需要一个可供用户选择颜色的字段,该字段将包含RGB颜色代码字符串。我已经测试了一个看起来很漂亮但效果不佳的。它是“挑剔的颜色”,并托管在此存储库中:https://github.com/Astorsoft/picky-color.在这里我打开一个关于它的一些问题的问题。问题:请建议我在Rails3应用程序中使用一些颜色选择器。 最佳答案 也许页面上的列表jQueryUIDevelopment:ColorPicker为您提供开箱即用的产品。原因是jQuery现在包含在Rails3应用程序中,因此使用基
我正在尝试用Prawn生成PDF。在我的PDF模板中,我有带单元格的表格。在其中一个单元格中,我有一个电子邮件地址:cell_email=pdf.make_cell(:content=>booking.user_email,:border_width=>0)我想让电子邮件链接到“mailto”链接。我知道我可以这样链接:pdf.formatted_text([{:text=>booking.user_email,:link=>"mailto:#{booking.user_email}"}])但是将这两行组合起来(将格式化文本作为内容)不起作用:cell_email=pdf.make_c
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
我对单元测试还是比较陌生。我用Ruby编写了一个类,它接受一个文件,在该文件中搜索给定的Regex模式,替换它,然后将更改保存回文件。我希望能够为此方法编写单元测试,但我不知道我将如何去做。有人能告诉我我们如何对处理文件i/o的方法进行单元测试吗? 最佳答案 看看这个HowdoIunit-testsavingfiletothedisk?基本上这个想法是一样的,文件系统是你的类的依赖。所以引入一个可以在你的单元测试中模拟的角色/接口(interface)(这样你在单元测试时就没有依赖性);角色中的方法应该是您从文件系统中需要的所有东西
尝试使用rubytest/test_foo.rb运行minitest单元测试时出现以下错误:Warning:youshouldrequire'minitest/autorun'instead.Warning:oradd'gem"minitest"'before'require"minitest/autorun"'From:/home/emile/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/minitest/autorun.rb:15:```test_foo.rb看起来像这样:require'minitest/autorun'classTestFoo
在Test::Unit中的ruby单元测试断言失败后,在执行teardown之前,是否有一些简洁优雅的方法来立即执行我的代码?我正在做一些自动化的GUI测试,并希望在出现问题后立即截图。 最佳答案 如果您使用的是1.9,请不要使用Test::Unit::TestCase作为您的基类。对其进行子类化并覆盖#run_test以进行救援,截取屏幕截图并重新提出:classMyAbstractTestCase或者,我认为这实际上是最简洁的方法,您可以使用before_teardownHook:classMyTestCase这不适用于1.
我正在使用带有单个“帐户”表的STI模型来保存用户和技术人员的信息(即用户...8)错误:test_the_truth(用户测试):ActiveRecord::StatementInvalid:PGError:ERROR:关系“技术人员”不存在:从“技术人员”中删除...从本质上讲,标准框架不承认Technicians和Users表(或PostgreSQL称它们为“关系”)不存在,事实上,应该别名为Accounts。有什么想法吗?我对RoR比较陌生,不知道如何解决这个问题而又不完全删除STI。 最佳答案 原来问题是由于存在:./te
为获取当前时间的代码编写单元测试的最佳方法是什么?例如,某些对象可能仅在工作日创建,其他对象在检查执行某些操作的权限时会考虑当前时间等。我想我应该模拟Date.today和Time.now。这是正确的做法吗?更新:两种解决方案(a)Time.is和(b)Time.stubs(:now).returns(t)都有效。(a)是非常好的方法,但(b)解决方案将与其他测试代码更加一致。在此question作者要求一个通用的解决方案。对于Ruby,在我的选项中,上述两个解决方案是simpler因此比提取获取当前日期/时间的代码更好。顺便说一句,我建议使用Chronic获得所需的时间,例如requ