这文章为转载。。。。。
起因是这样的,我做了一个控件,这里面
包含了一个gridview控件,上面有选择按钮,但是我想不显示选择列点击行上的任意处都执行"选择"任务,在一般的页面里加下面代码就可以了
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.Header)
{
//e.Row.Cells[5].Visible = false;
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#ffffe7'");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
//单击行的任意列会自动选中此行
e.Row.Attributes.Add("onclick", "__doPostBack('GridView1','Select$" e.Row.RowIndex "')");
}
}
但是注意,我是做的用户控件,当控件被托拽到别的页面上的时候,控件里面用的服务器控件都会加一个本用户控件名子的前缀,这就出现问题了在
"e.Row.Attributes.Add("onclick", "__doPostBack('GridView1','Select$" e.Row.RowIndex "')");"中在新页面上的'GridView1'存在,但是叫做另一个名子了,就是比如控件叫"WebUserControl",那么在新的引用页里他就叫"WebUserControl1",原来的GridView1就叫做WebUserControl1_GridView1了,这时候,里面的选择按钮列增加onclick的事件的行就叫"WebUserControl1$GridView1"了,也就是说这样写才有效"e.Row.Attributes.Add("onclick", "__doPostBack('WebUserControl1$GridView1','Select$" e.Row.RowIndex "')");",但是问题是如果这样写死的话,如果是页面上引用两个这样的控件,就会出问题了,第二个控件叫做WebUserControl2,但是它上面的事件已经被固定了,所以第二个会不起做用,也就是说页里只能用一个控件,那做这个控件就没有意义了,我解决的办法是,引用了前台javascript的全局变量
<script type="text/javascript">
//这里如果div变成服务器端运行,那么在页里设置的样式都失效,只能在控件本上上设置,js程序在其它控件被调用后会失效
var ctrlid="null";
function tbMachineShwo(){//这个函数在控件里用一个按钮触发
ctrlid=event.srcElement.id.substr(0,15) "$GridView1";//意思就是取出这个控件在页里的id
}
</script>
然后在后台页里这样写
e.Row.Attributes.Add("onclick", "__doPostBack(ctrlid,'Select$" e.Row.RowIndex "')");
这样就能在点击任意处都加上这个onclick事件了.
分享到:
相关推荐
GridView 行单击与双击事件,功能:单击选中行 双击打开详细页面 说明:
GridView系列---GridView固定表头
GridView系列---GridView分页
GridView系列---GridView合并表头
winform中获取gridview选定行标识列的值
Android高级应用源码-gridview最新版本.zip
Android高级应用源码-GridView添加图片DeleteGridView0.2.zip
GridView固定表头(不用javascript只用CSS,2行代码,很好用) GridView合并表头多重表头无错完美版(以合并3列3行举例) GridView突出显示某一单元格(例如金额低于多少,分数不及格等) GridView加入自动求和求平均...
Android高级应用源码-gridview分页效果.zip
Swipe-to-Select-GridView ,Swipe-to-Select-GridView 是一个基于 UICollectionView 的 ...
给GridView设置默认选中效果 及 选中后的效果
实例>--gridview使用大全 里面关于gridview的使用讲的比较详细,且附有实现代码 word格式
商业编程-源码-Gridview控件用法Demo.zip
ASP.NET 2.0 - GRIDVIEW
ASP.NET中的数据绑定-gridview,对此不了解的朋友们可以看下。
react-native-easy-listview-gridview 这是React Native中ListView和GridView的包装库。样本列表显示网格视图特征拉刷新到达列表视图或网格视图的末尾时加载更多内容为空时列表视图或网格视图的自定义背景自定义样式...
商业编程-源码-GridView全选反选示例源码.zip
Android项目实战--手机卫士06--GridView的优化与修改Button的显示样式
一个对gridview基本功能的详细介绍
商业编程-源码-GridView实用示例源码附加导出Excel功能.zip