如果GRID是单色,就在离开的时候设回来就行了.
如果是复杂得的颜色,则需用JS取得其颜色,记录下来,然后再还原回去.
如果是复杂得的颜色,则需用JS取得其颜色,记录下来,然后再还原回去.
解决方案 »
- 谁有C#基于windows的窗体编程视频教程? 来晒晒
- Lst泛型的数据相互相加
- 问一个程序初始化时,自动建表的设计方案
- C#浏览器问题
- 如何开发具有OPC接口的硬件驱动程序?
- " File is empty or corrupted "
- 请大家推荐几本适合初学者的C#经典教材。
- 在线等,马上结贴:(web) 当用鼠标 Click datagrid(web) 的某一行 怎么样触发一个事件,并获得该行的Index? 3Q !!!
- [求助] 系统错误: 错误ID:6875 列表项无效。提供的列表项与计划项目不兼容。
- Button的RightToLeft属性里的属性值
- winform 长时间运行的问题.
- 急救啊,这周的工作任务快玩不成了
我的grid奇数偶数行默认颜色不一样
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "if(this!=prevselitem){this.style.backgroundColor='#Efefef'}");//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseout", "if(this!=prevselitem){this.style.backgroundColor='#ffffff'}");//当鼠标移开时还原背景色
}
}
因为GRID是默认的间隔变色,你可以取得e.RowIndex/2 == 0来判断奇数偶数行,然后再变色.
/// 行颜色变化事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
this.dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Red;
}
/// <summary>
/// 变回原来的颜色事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
this.dataGridView1.Rows[0].DefaultCellStyle.BackColor = this.dataGridView1.RowsDefaultCellStyle.ForeColor;
}这样就ok了
问题是我现在的 grid的选中模式是单元格模式 DefaultCellStyle 只能一个一个单元格恢复?
有没有啥办法把整个 grid样式全部 变为初始状态(里面的值不能丢)
{
this.dataGridView1.Rows[i].DefaultCellStyle.BackColor = this.dataGridView1.RowsDefaultCellStyle.ForeColor;
}这样效果不达到了吗
由于我的Gird选中模式必须是选中单元格模式所以无法用.net自带的 DefaultCellStyle.BackColor
属性设置 但是如果我点击了 一个可编辑的单元格 这个单元格会实例化一个textbox 并取grid当前单元格的背景色导致我无法控制 我当前选中的单元格子的颜色
{
this.dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Red;
}
/// <summary>
/// 变回原来的颜色事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
this.dataGridView1.Rows[0].DefaultCellStyle.BackColor = this.dataGridView1.RowsDefaultCellStyle.ForeColor;
}
还有dataGridView1.RowsDefaultCellStyle.ForeColor; 你这里取到的一定是已经变了色的
就是说即便取到也是蓝色 那给他赋值这个颜色就没意义了
你也可以这么理解吧,话说回来就算你想让他变成蓝色也没办法的,除非你再一次点击同一行的其他cell
你点的是BUTTON事件 而我要写在 dataGridView1_SelectionChanged 里