FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 9020|回复: 4
打印 上一主题 下一主题

如何获取 Grid中选中的值???

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-4 07:14:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Grid 表格设置了EnableCheckBoxSelect="True" DataKeyNames="Id,Name" 属性,当选中几行时,如何获取选中行的ID。谢谢?
我看了示例中 Grid_rowcommand.aspx.cs 中引用 HowManyRowsAreSelected函数,但是找不到 HowManyRowsAreSelected 是如何定义的。
推荐
发表于 2013-3-4 09:49:03 | 只看该作者
  /// <summary>
        /// 选中的行
        /// </summary>
        /// <param name="grid"></param>
        /// <returns></returns>
        protected string HowManyRowsAreSelected(Grid grid)
        {
            StringBuilder sb = new StringBuilder();
            int selectedCount = grid.SelectedRowIndexArray.Length;
            if (selectedCount > 0)
            {
                sb.AppendFormat("共选中了 {0} 行:", selectedCount);
                sb.Append("<table class=\"result\">");

                sb.Append("<tr><th>行号</th>");
                foreach (string datakey in grid.DataKeyNames)
                {
                    sb.AppendFormat("<th>{0}</th>", datakey);
                }
                sb.Append("</tr>");


                for (int i = 0; i < selectedCount; i++)
                {
                    int rowIndex = grid.SelectedRowIndexArray[i];
                    sb.Append("<tr>");

                    sb.AppendFormat("<td>{0}</td>", rowIndex + 1);

                    // 如果是内存分页,所有分页的数据都存在,rowIndex 就是在全部数据中的顺序,而不是当前页的顺序
                    if (grid.AllowPaging && !grid.IsDatabasePaging)
                    {
                        rowIndex = grid.PageIndex * grid.PageSize + rowIndex;
                    }

                    object[] dataKeys = grid.DataKeys[rowIndex];
                    for (int j = 0; j < dataKeys.Length; j++)
                    {
                        sb.AppendFormat("<td>{0}</td>", dataKeys[j]);
                    }

                    sb.Append("</tr>");
                }
                sb.Append("</table>");
            }
            else
            {
                sb.Append("<strong>没有选中任何一行!</strong>");
            }

            return sb.ToString();
        }
板凳
 楼主| 发表于 2013-3-4 09:59:27 | 只看该作者
低调的360.. 发表于 2013-3-4 09:49
///
        /// 选中的行
        ///

谢谢! 按你的方法搞定了。
地板
发表于 2013-3-4 10:03:07 | 只看该作者
Xiaonn 发表于 2013-3-4 09:59
谢谢! 按你的方法搞定了。

不客气
5#
发表于 2014-10-24 22:34:04 | 只看该作者
可以用,非常感谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-25 14:50 , Processed in 0.044044 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表