如何将Gridview行转换为int OR如何将行向下和向上提升

本文关键字:int Gridview 转换 OR | 更新日期: 2023-09-27 18:18:31

我想列个清单。当我在Gridview中选择一行时,红线与上面和下面的线

这是ASP的一面

 protected void rowCommand(object sender, GridViewCommandEventArgs e)
{
    switch (e.CommandName)
    {
        case "PIC":
                ImageButton i = (ImageButton)e.CommandSource;
                GridViewRow row = (GridViewRow)i.NamingContainer;
                row.BackColor = System.Drawing.Color.Red;
                **//problem**
                row = Convert.ToInt32(row + 1);
                //problem
                Session["Row"] = row;
     }
 }

如何将行转换为加1和减1的数字以及如何将int num转换回行类型


不工作,我可以捕获行号通过这个代码

ImageButton i = (ImageButton)e.CommandSource;
                GridViewRow row = (GridViewRow)i.NamingContainer;

但是当我试着做你提供的东西时,它不起作用我所需要做的就是:

Session["Row"] = row;

如何将Gridview行转换为int OR如何将行向下和向上提升

你不能将GridViewRow转换为int,但是GridViewRow有一个RowIndex属性,请参阅MSDN文档:RowIndex

commandparameter是生成事件的行的从零开始的整数索引。

所以e.CommandArgument - 1是前一行,+ 1是后一行。确保检查行集的边界(例如,没有负索引,没有大于长度- 1的索引)

要获得这些行,您可以这样做(不保证,IDE未打开):
    GridViewRow gvrBefore = null;
    if ( ((int)e.CommandArgument) > 0) {
       gvrBefore = MyGridObject.Rows[((int)e.CommandArgument) - 1];
    }