惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
云风的 BLOG
云风的 BLOG
小众软件
小众软件
IT之家
IT之家
T
Tailwind CSS Blog
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
美团技术团队
博客园 - 叶小钗
V
V2EX
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
博客园 - 【当耐特】
罗磊的独立博客
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
爱范儿
爱范儿
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Jina AI
Jina AI
月光博客
月光博客
有赞技术团队
有赞技术团队

博客园 - c#之旅

好久没有更新了,来露个头! 使用css 控制GridView显示出来的数据 [转] 在asp.net 2.0中配置FCKeditor 2.6.4 ASP.NET 中使用Fckeditor 2.6.4 [幽默笑话]唐僧取经 表格细边框css 快过生日了,买了基本asp.net的书给自己做生日礼物 使用windows Live Writer来管理自己的博客 最近准备学习下asp.net ajax,朋友们多鼓励我啊! 使用 WebBrowser 控件作为 HTML 文本编辑器[转] 好久没有更新了,不知道还有没有人关注?呵呵! 又是一年春来到,祝大家有个好的开始。 挺好看的小说《商业三国》 新年快到了,祝大家新年快乐! 这些天工作太忙了,一点时间都没有了 ASPxNewsControl 使用备忘 研究了一下午,终于找到了把框架中的立体分割线变成平面的方法了(去除三维效果) - c#之旅 - 博客园 细表格备忘 - c#之旅 - 博客园 css框架样式备忘(转)
GridView全选全不选以及读取隐藏列的值的方法 - c#之旅 - 博客园
c#之旅 · 2009-05-30 · via 博客园 - c#之旅

经过测试可以使用的方法:

1、在gridview里边设置两个checkbox,均为服务器控件,postback不需要;如下面的代码

<asp:GridView ID="gvUsers" runat="server" AutoGenerateColumns="False"
                DataKeyNames="ID">
            <Columns>
                <asp:TemplateField HeaderText="选择">
                    <HeaderTemplate>
                        <asp:CheckBox ID="CheckHeader" runat="server" value='<%#Eval("ID") %>' onclick="SelectAll(this);"/>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckItem" runat="server"  />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="ID" HeaderText="编号" Visible="False" />
                <asp:BoundField DataField="LoginName" HeaderText="用户名" />
                <asp:BoundField DataField="LastLoginTime" HeaderText="上次登录时间" />
            </Columns>
        </asp:GridView>

2、加入javascript语句

 <script language="javascript" type="text/javascript">
       function SelectAll(tempControl)
       {
           //将除头模板中的其它所有的CheckBox取反

            var theBox=tempControl;
             xState=theBox.checked;   
          
            elem=theBox.form.elements;
            for(i=0;i<elem.length;i++)
            if(elem[i].type=="checkbox" && elem[i].id!=theBox.id)
            {
                if(elem[i].checked!=xState)
                elem[i].click();
            }
       }
    </script>

这样,就可以选择全选或者全不选了。

3、读取Gridview隐藏列的值

如1中代码,将隐藏列ID加入DataKeyNames

DataKeyNames="ID"

4、读取选中行的ID值,返回“,”间隔的字符串 

 protected void Button1_Click(object sender, EventArgs e)
        {
            string str = "";
            for (int i = 0; i < gvUsers.Rows.Count; i++)
            {
                if (((CheckBox)gvUsers.Rows[i].Cells[0].Controls[1]).Checked)
                {
                    str = str+gvUsers.DataKeys[i]["ID"].ToString()+",";                    
                }
              
            }

       if (str.Length > 0)  str = str.Remove(str.LastIndexOf(","), 1); //去除最后一个,
            Response.Write(str);


        }

可以获得列表 1,2,3,5,

然后使用去最后一个,的代码,就可以搞定了!