能否指定点击DataGridView控件时那一行的字体颜色?

zscyj 2008-10-12 11:31:28
DataGridView1.Rows(i).DefaultCellStyle.ForeColor = Color.Blue能指定某行的字体颜色,能否指定点击那行的字体颜色。
...全文
401 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
jbo126 2010-11-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 limeng0513 的回复:]
点别的行的时候,遍历所有行,把之前选中的行变黑。
[/Quote]
在记录多的时候有点低效!你可以在当前行改变时选缓存选中行的索引,比如lastSelectedIndex,然后直接恢复该索引指示的行的颜色!!
wj2012 2010-11-13
  • 打赏
  • 举报
回复

DataGridView1.Rows[i]Selected = false;
DataGridView1.Rows(i).DefaultCellStyle.ForeColor = Color.Blue 指定行的字体颜色立马改变。
zscyj 2008-10-13
  • 打赏
  • 举报
回复
找了一下,可以用这样的一句来解决
DataGridView1.Rows(DataGridView1.CurrentRow.Index.ToString()).DefaultCellStyle.ForeColor = Color.Blue

可就是点一次变一行蓝色,怎样使其它的行重新变为黑色?
Forrest23 2008-10-13
  • 打赏
  • 举报
回复
Private Sub DataGridView1_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseClick
For i As Integer = 0 To Me.DataGridView1.Rows.Count - 1
Me.DataGridView1.Rows(i).DefaultCellStyle.ForeColor = Color.Black
Next
Me.DataGridView1.Rows(Me.DataGridView1.CurrentRow.Index.ToString).DefaultCellStyle.ForeColor = Color.Blue
End Sub
rockyvan 2008-10-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zscyj 的回复:]
找了一下,可以用这样的一句来解决
DataGridView1.Rows(DataGridView1.CurrentRow.Index.ToString()).DefaultCellStyle.ForeColor = Color.Blue

可就是点一次变一行蓝色,怎样使其它的行重新变为黑色?[/Quote]

Me.DataGridView1.DefaultCellStyle.ForeColor = Color.Black '加上這一句
DataGridView1.Rows(DataGridView1.CurrentRow.Index.ToString()).DefaultCellStyle.ForeColor = Color.Blue
ejoe313 2008-10-13
  • 打赏
  • 举报
回复
仅供参考:

Dim i As Integer
for i =0 to DataGridView1.Rows.Count - 1
if i = DataGridView1.CurrentRow.Index then
DataGridView1.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
else
DataGridView1.Rows(i).DefaultCellStyle.ForeColor = Color.Black
end if
next

zscyj 2008-10-13
  • 打赏
  • 举报
回复
楼上的limeng0513,能给出代码吗?遍历时怎样去除所选择的行
破咖啡罐子 2008-10-13
  • 打赏
  • 举报
回复
点别的行的时候,遍历所有行,把之前选中的行变黑。
CloneCenter 2008-10-13
  • 打赏
  • 举报
回复
windows form 还是 web form?
tanghong958123 2008-10-13
  • 打赏
  • 举报
回复
DataGridView1.Rows(DataGridView1.CurrentRow.Index.ToString()).DefaultCellStyle.ForeColor = Color.Blue 同意这种 班你自己可以修改
你是怎么想的 你就怎么写!
warryman 2008-10-13
  • 打赏
  • 举报
回复
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

If e.Row.RowType = DataControlRowType.DataRow Then

'e.Row.Attributes.Add("onmousedown", "this.style.background = '#506987';")
'e.Row.Attributes.Add("onmouseout", "this.style.background='#FFFFFF';")
e.Row.Attributes.Add("onclick", Me.Page.ClientScript.GetPostBackEventReference(GridView1, "Select$" + e.Row.RowIndex.ToString))

End If
End Sub
warryman 2008-10-13
  • 打赏
  • 举报
回复
不用遍历
warryman 2008-10-13
  • 打赏
  • 举报
回复
Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
Dim index As Integer = Me.GridView1.SelectedIndex
Me.GridView1.Rows(index).Cells(0).Style("background") = "#506987"
End Sub
zscyj 2008-10-13
  • 打赏
  • 举报
回复
呵呵,谢谢。先全都变黑,再选择一行,行啊。可为什么先加Me.DataGridView1.DefaultCellStyle.ForeColor = Color.Black 这一句却没效果?
IMAGSE 2008-10-13
  • 打赏
  • 举报
回复
得到那行的索引,也就是你那行的变量i就可以了啊~

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧