设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
如何在GridView中添加一checkbox行
返回列表
发新帖
如何在GridView中添加一checkbox行
[复制链接]
11
|
5
|
2015-8-30 10:33:00
|
显示全部楼层
|
阅读模式
在gridview的...之间加上这一句,OK然后选中的逻辑自己判断不行再消息我那你直接在gridview模拟一行checkbox,修改的时候检查一下该列对应的checkbox是否选中,不就OK了
回复
使用道具
举报
千问
|
2015-8-30 10:33:00
|
显示全部楼层
GridVie你在设计窗口的智能标识中去编辑他的Item,里面就可以直接添加CheckBox控件了。或者也可以直接在html中直接写
回复
使用道具
举报
千问
|
2015-8-30 10:33:00
|
显示全部楼层
你在grideview中加入一个checkbox行.然后给每个checkbox绑定事件,这个事件必须放在page_load中才生效.也不能 判断IsPostback.
回复
使用道具
举报
千问
|
2015-8-30 10:33:00
|
显示全部楼层
全是治标不治本的回答,分我要了,就两句话:任何对象中,只要包含Controls属性的都可以添加控件,找你单元格的Controls自己写。还有想让一行无效容易,让一列只有遍历每行的对应索引元素了,本来gridview里的数据就是由行组成的不是由列组成的。拿下!gridview 有个方法:findcontrol(),参数是checkbox空间的id,然后用checkbox cb = gridview.findcontrol(“checkbox1”)if(cb.checked){}
回复
使用道具
举报
千问
|
2015-8-30 10:33:00
|
显示全部楼层
1、在GridView上启用编辑;2、在RowCreated事件委托函数中添加代码,用Html标记在Header上创建复选框(没有按楼主要求添加新行,我觉得这样更好,若嫌太宽,则添加换行符),如:
if (e.Row.RowType == DataCont,rolRowType.Header)
{
for (int i = 1; i < e.Row.Cells.Count; i++)
{
string nameAndId = "CheckBox" + i.ToString();
e.Row.Cells
.Text = "
"+e.Row.Cells
.Text;
}
}3、在RowEditing事件委托函数中记录所选编辑行索引,如:
ViewState["editLine"] = e.NewEditIndex;4、最后在PreRender事件委托函数中,为当前编辑行的各列的文本框,建立OnKeyPress事件客户端处理函数,以禁止或允许编辑,如:
if (ViewState["editLine"] != null)
{
GridViewRow row=GridView1.Rows[Convert.ToInt32(ViewState["editLine"])];
for (int i = 1; i < row.Cells.Count; i++)
{
if (row.Cells
.HasControls())
{
TextBox tb = (TextBox)row.Cells
.Controls[0];
string checkBoxId = "CheckBox" + i.ToString();
tb.Attributes.Add("onKeyPress", "javascript:if(document.getElementById('" + checkBoxId + "').checked) return false;");
}
}
}
回复
使用道具
举报
千问
|
2015-8-30 10:33:00
|
显示全部楼层
加入一个模板列,里面放入一个checkbox
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行