.net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】
1.首先在前台dataGridview属性中增加onRowDataBound属性事件

2.然后在后台Observing_RowDataBound事件中增加代码
protected void Observing_RowDataBound(object sender, GridViewRowEventArgs e)
{
//首先判断是否是数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#eed6d6'");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
}
}
此随笔参考原文 http://www.cnblogs.com/Ryan_j/archive/2010/10/04/1842038.html GridView72般绝技
3.下面是自己增加的内容【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】
e.Row.Attributes.Add("onclick", "getGridViewValue('" + strName + "','" + strSex + "','" + strAge + "','" + Server.UrlEncode(strDiag).Replace("+", "%20") + "')");
strDiag诊断这个字段有可能会出现有空格的现象,如果有空格,不编码传到前台js会报错,所以这里要编码。而vs编码后空格就会变成+号,所以这里要用Server.UrlEncode编码后并将+号替换为%20,前台js中接收并解码就成功了,单击GridView填充数据到Textbox控件中。

【最后附上代码】
【后台】
protected void Observing_RowDataBound(object sender, GridViewRowEventArgs e)
{ //首先判断是否是数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#eed6d6'");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
int index = e.Row.DataItemIndex;
DataTable dt = (DataTable)ObservingGrid.DataSource;
string strName = dt.Rows[index][].ToString();
string strSex = dt.Rows[index][].ToString();
string strAge = dt.Rows[index][].ToString();
string strDiag = dt.Rows[index][].ToString();
//DY.Web.UI.Dialog.LhgDialog.Alert(this, "getGridViewValue('" + strName + "','" + strSex + "','" + strAge + "','" + Uri.EscapeDataString(strDiag) + "')", "");
e.Row.Attributes.Add("onclick", "getGridViewValue('" + strName + "','" + strSex + "','" + strAge + "','" + Server.UrlEncode(strDiag).Replace("+", "%20") + "')"); } }
【js】
<script type="text/javascript">
function getGridViewValue(name, sex, age, diag) {
document.getElementById("TbName").value = name;
document.getElementById("DdlbSex").value = sex;
document.getElementById("TbAge").value = age;
document.getElementById("TbDiagnosis").value = decodeURI(diag);
}
</script>
.net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】的更多相关文章
- 鼠标HOVER时区块动画旋转变色的CSS3样式掩码
鼠标hover时区块动画旋转变色的css3样式掩码<!DOCTYPE html> <html> <head> <meta charset="utf- ...
- 在DataGridView控件中加入ComboBox下拉列表框的实现
在DataGridView控件中加入ComboBox下拉列表框的实现 转自:http://www.cnblogs.com/luqingfei/archive/2007/03/28/691372.htm ...
- 实现DataGridView控件中CheckBox列的使用
最近做WindowsForms程序,使用DataGridView控件时,加了一列做选择用,发现CheckBox不能选中.搜索后,要实现DataGridView的CellContentClick事件,将 ...
- winform窗体(六)——DataGridView控件及通过此控件中实现增删改查
DataGridView:显示数据表,通过此控件中可以实现连接数据库,实现数据的增删改查 一.后台数据绑定: List<xxx> list = new List<xxx> ...
- Winform(DataGridView)控件及通过此控件中实现增删改查
DataGridView:显示数据表,通过此控件中可以实现连接数据库,实现数据的增删改查 一.后台数据绑定: List<xxx> list = new List<xxx> ...
- js中使用控件名和数组下标方式获取控件的值时失败
在做界面展示时涉及到表单行项目的增加和删除时,我们一帮都使用js的脚本实现表单行的增加和删除,那么在进行表单的提交的时我们会再页面上进行提交数据的初步校验,进行数据的初步校验时,就要动态获取控件的值. ...
- VC/MFC 在ListCtl 控件中随鼠标移动提示单元格信息
BEGIN_MESSAGE_MAP(CTipListCtrl, CListCtrl) //{{AFX_MSG_MAP(CTipListCtrl) ON_WM_MOUSEMOVE() ON_WM_DES ...
- 浅析:点击父控件时,子控件中的textview自动进入选中状态
原因:父控件属性android:clickable="true",而textview之类的自控件默认不可点击,没有独立的点击监听,这样选中父控件时,textview之类的子控件也进 ...
- WPF中ListBox控件在选择模式(SelectionMode)为Single时仍然出现多个Item被选中的问题
最近在学习WPF过程中使用到了ListBox控件,在使用时遇到下面的奇怪问题: 代码如下: listBox.Items.Add("绘图"); listBox.Items.Add(& ...
随机推荐
- a.redhat系统如何卸载默认jdk
Redhat系统安装之后,会默认有openjdk在安装(下图已经是卸载掉了) 这个openjdk下面的需要进行卸载,你可以通过命令进行卸载,例如首先查看JDK,然后默认直接通过rpm命令进行卸载L 卸 ...
- Apache Commons BeanUtils
http://commons.apache.org/proper/commons-beanutils/javadocs/v1.9.2/apidocs/org/apache/commons/beanut ...
- upupw一键绿色免安装环境包
项目测试,选择upupw环境包 下载nginx版本,解压即可使用 任务就是要把我电脑上的项目test.com提供给公司局域网同事访问,如果是apache的话,前面的wampserver已经讲过了. 1 ...
- appium 1.6.3+Xcode运 For Mac
1. 下载两个版本的Xcode, Xcode 1.7.3 与Xcode 8.2 ,放置在不同的目录下.进入terminal, 选择需要的版本: sudo xcode-select -switch // ...
- 原生javascript实现省市区三级联动
腾讯IP分享计划(http://ip.qq.com/)有个现成的三级联动功能,查看源码后发现可以直接使用其单独的JS文件(http://ip.qq.com/js/geo.js). 分析后发现自己需要写 ...
- 求第N个质数算法
用python求从1开始第1000个质数? 质数:只能被1和它本身整除的数.那好,我们开始写程序(一个小算法). def calc_prime(prime,num): i,gab=7,2 while ...
- 20169212《Linux内核原理与分析》 第九周作业
可执行程序的装载 一.预处理.编译.链接和目标文件的格式 可执行程序是怎么来的?通过以下这个图来呈现过程: 以我们常写的helloworld为例.我们编写了一个helloworld的.c文件,我们来把 ...
- 错误: java.lang.reflect.InvocationTargetException
错误: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(N ...
- ftgl 绘制文字
FTFont* ftfont = new FTGLPixmapFont(); ftfont->Open("D:/SIMHEI.ttf"); ftfont->FaceSi ...
- 苹果下如果安装nginx,给nginx安装markdown第三方插件
用brew install nginx 这样安装的是最新版的nginx, 但是在有些情况下,安装第三方插件需要特定的版本,更高一级的版本可能装不上. 它的原理是下载安装包进行自动安装,建立软链,这样就 ...