FineUI 官方论坛

标题: 如何获取 Grid中选中的值??? [打印本页]

作者: Xiaonn    时间: 2013-3-4 07:14
标题: 如何获取 Grid中选中的值???
Grid 表格设置了EnableCheckBoxSelect="True" DataKeyNames="Id,Name" 属性,当选中几行时,如何获取选中行的ID。谢谢?
我看了示例中 Grid_rowcommand.aspx.cs 中引用 HowManyRowsAreSelected函数,但是找不到 HowManyRowsAreSelected 是如何定义的。

作者: 低调的360..    时间: 2013-3-4 09:49
  /// <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();
        }
作者: Xiaonn    时间: 2013-3-4 09:59
低调的360.. 发表于 2013-3-4 09:49
///
        /// 选中的行
        ///

谢谢! 按你的方法搞定了。
作者: 低调的360..    时间: 2013-3-4 10:03
Xiaonn 发表于 2013-3-4 09:59
谢谢! 按你的方法搞定了。

不客气
作者: hofmann    时间: 2014-10-24 22:34
可以用,非常感谢




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4