------如何改变DataGrid的Item的背景色----如何取得DataGrid第二行第三列的值----如何取得DataGrid背景色为红色的为第几行

时间:2022-10-30 14:48:11
------如何改变DataGrid的Item的背景色----如何取得DataGrid第二行第三列的值----如何取得DataGrid背景色为红色的为第几行
问题一:在设计的时候我把DataGrid的背景设置为蓝色
    在程序运行的时候如何在前台把DataGrid的背景色设置为红色
    在程序运行的时候如何在C#后台把DataGrid的背景色设置为红色

问题二:如何在前台把DataGrid第二行第三列的值传给Text1

问题三:我的DataGrid在设置的时候我把第一行都设置了一个颜色
    现在如何点击前台Button的时候知道DataGrid背景为红色的是第几行
    现在如何点击后台Button的时候知道DataGrid背景为红色的是第几行

9 个解决方案

#1


private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{            
     if (e.Item.ItemType!=ListItemType.Header)
    {
    e.Item.Attributes.Add( "onmouseout","this.style.backgroundColor='LightGoldenrodYellow'");     
   e.Item.Attributes.Add( "onmouseover","this.style.backgroundColor='#C1D2EE'");
     }
}

#2


老大看清题目好不

#3


不好意思,你第一个与第三个问题,我看不太明白.第二个问题参考如下:
var objTable = document.getElementById("DataGrid1");
document.all.Text1.value = objTable.rows[1].cells[2].innerText;

#4


up

#5


三个问题都可以在重载DG_ItemDataBound这个方法里去实现!

#6


是vs2005么如果是的话把里面的起用选定内容.当选中后自然当行就变成红色了。如果是2003的话除非写客户端脚本.否则很难控制.除非你每行的颜色都是一样的.用 hedongfu(何东付)的方法把onmouseover换成onmousedown.

#7


回复 yuelailiu

三个问题都可以在重载DG_ItemDataBound这个方法里去实现!

可要如何来做呢
-------------------------
还有我用的是VS2003

补充:
一:我的问题一就是在程序运行的时候进DataGrid的背景色进行设置
三:也就是我DataGrid中有一行背景为红色
  然后怎样获得红色这一行为第几行

谢谢

#8


private sub ex(ByVal e As DataGridViewCellFormattingEventArgs)
If e.ColumnIndex = 你的值 Then

            If e.Value = "True" Then

                e.Value = "正常"

            Else

                e.Value = "错误"

                'e.CellStyle.BackColor = Color.Red

                DataGridView1.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Red
msgbox(e.ColumnIndex)
            End If

        Else


            If IsDBNull(e.Value) = False Then

                e.Value = Trim(e.Value)

            End If

        End If
end sub

#9


用JS脚本

#1


private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{            
     if (e.Item.ItemType!=ListItemType.Header)
    {
    e.Item.Attributes.Add( "onmouseout","this.style.backgroundColor='LightGoldenrodYellow'");     
   e.Item.Attributes.Add( "onmouseover","this.style.backgroundColor='#C1D2EE'");
     }
}

#2


老大看清题目好不

#3


不好意思,你第一个与第三个问题,我看不太明白.第二个问题参考如下:
var objTable = document.getElementById("DataGrid1");
document.all.Text1.value = objTable.rows[1].cells[2].innerText;

#4


up

#5


三个问题都可以在重载DG_ItemDataBound这个方法里去实现!

#6


是vs2005么如果是的话把里面的起用选定内容.当选中后自然当行就变成红色了。如果是2003的话除非写客户端脚本.否则很难控制.除非你每行的颜色都是一样的.用 hedongfu(何东付)的方法把onmouseover换成onmousedown.

#7


回复 yuelailiu

三个问题都可以在重载DG_ItemDataBound这个方法里去实现!

可要如何来做呢
-------------------------
还有我用的是VS2003

补充:
一:我的问题一就是在程序运行的时候进DataGrid的背景色进行设置
三:也就是我DataGrid中有一行背景为红色
  然后怎样获得红色这一行为第几行

谢谢

#8


private sub ex(ByVal e As DataGridViewCellFormattingEventArgs)
If e.ColumnIndex = 你的值 Then

            If e.Value = "True" Then

                e.Value = "正常"

            Else

                e.Value = "错误"

                'e.CellStyle.BackColor = Color.Red

                DataGridView1.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Red
msgbox(e.ColumnIndex)
            End If

        Else


            If IsDBNull(e.Value) = False Then

                e.Value = Trim(e.Value)

            End If

        End If
end sub

#9


用JS脚本