FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 25895|回复: 27
打印 上一主题 下一主题

关于Grid翻页后行号(取值)的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2012-4-12 23:39:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先上图

————————————————————————————————————————————————
————————————————————————————————————————————————

选择编号14,点 删除 按钮显示的行号(9)正确。
翻页之后,选择编号21,点 删除 按钮显示的是(6),导致无法删除所选定的数据。
请问这个问题该怎么解决??

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2012-4-13 00:06:23 | 只看该作者
DataKeyNames="id"

Grid1.DataKeys[e.RowIndex][0].ToString();
板凳
 楼主| 发表于 2012-4-13 00:28:26 | 只看该作者
Landroid 发表于 2012-4-13 00:06
DataKeyNames="id"

Grid1.DataKeys[e.RowIndex][0].ToString();

你这个是在 Grid1_RowCommand 事件下写的吧?
Grid1_RowCommand事件下,可以批量删除吗?
我想写在button事件下。

请问,该怎么办?
地板
发表于 2012-4-13 00:34:37 | 只看该作者
本帖最后由 Landroid 于 2012-4-13 00:36 编辑
michenboa 发表于 2012-4-13 00:28
你这个是在 Grid1_RowCommand 事件下写的吧?
Grid1_RowCommand事件下,可以批量删除吗?
我想写在button ...
  1.    
复制代码
5#
发表于 2012-4-13 00:37:33 | 只看该作者
michenboa 发表于 2012-4-13 00:28
你这个是在 Grid1_RowCommand 事件下写的吧?
Grid1_RowCommand事件下,可以批量删除吗?
我想写在button ...
  1.     /// <summary>
  2.     /// 批量删除
  3.     /// </summary>
  4.     /// <param name="sender"></param>
  5.     /// <param name="e"></param>
  6.     protected void ButtonDelete_Click(object sender, EventArgs e)
  7.     {
  8.         int selectedCount = Grid1.SelectedRowIndexArray.Length;
  9.         int pageIndex = Grid1.PageSize * (Grid1.PageIndex);

  10.         if (selectedCount > 0)
  11.         {
  12.             for (int i = 0; i < selectedCount; i++)
  13.             {
  14.                 int rowIndex = Grid1.SelectedRowIndexArray[i] +  pageIndex;
  15.                 String id = Grid1.DataKeys[rowIndex][0].ToString();
  16.                //删除操作
  17.             }

  18.             //重新绑定
  19.             dt = GetDatatable();
  20.             BindGrid();
  21.         }
  22.         else
  23.         {
  24.             Alert.ShowInParent("未选中行!");
  25.         }
  26.     }
复制代码
6#
 楼主| 发表于 2012-4-13 00:43:41 | 只看该作者
Landroid 发表于 2012-4-13 00:37

int pageIndex = Grid1.PageSize * (Grid1.PageIndex);

int rowIndex = Grid1.SelectedRowIndexArray +  pageIndex;

就缺这两句代码。

谢谢你这么晚还帮我解答问题!太谢谢你了!
7#
发表于 2012-4-13 00:44:39 | 只看该作者
michenboa 发表于 2012-4-13 00:43
int pageIndex = Grid1.PageSize * (Grid1.PageIndex);

int rowIndex = Grid1.SelectedRowIndexArray +  ...

不客气,我也快睡了,困的不行了~~晚安喽
8#
发表于 2012-4-13 11:34:16 | 只看该作者
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
    String id = Grid1.DataKeys[rowIndex][0].ToString();
     //删除操作
}更简单,连pageIndex 也不用判断。
9#
发表于 2012-4-13 11:51:18 | 只看该作者
水若寒冰 发表于 2012-4-13 11:34
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
    String id = Grid1.DataKeys[rowIndex][0]. ...

这种方式,在删除多条不在同一页的数据时是有问题的
10#
发表于 2012-4-13 13:59:32 | 只看该作者
Landroid 发表于 2012-4-13 11:51
这种方式,在删除多条不在同一页的数据时是有问题的

翻页之后你如何保存之前选中的数据?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-22 21:59 , Processed in 0.049317 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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