GridView1_RowCommand()中如何获取当前行

GridView1_RowCommand()中如何获取当前行,第1张

在GridView里已经设置了LinkButton为事件处理按钮,将通过以下方法获取索引

protected void gv_Company_RowCommand(object sender, GridViewCommandEventArgs e){

        if (eCommandName == "QianRu")

    {    

     //取ID的值方法一   

              GridViewRow drv = ((GridViewRow)(((LinkButton)(eCommandSource))ParentParent)); //此得出的值是表示那行被选中的索引值

              inf id=ConvertToInt32(GridView1DataKeys[drvRowIndex]Value); //此获取的值为GridView中绑定数据库中的主键

          

      //取ID的值方法二   

              GridViewRow drv = ((GridViewRow)(((LinkButton)(eCommandSource))ParentParent)); //此得出的值是表示那行被选中的索引值

              //此获取的值为GridView中绑定数据库中的主键值,取值方法是选中的行中的第一列的值,drvRowIndex取得是选中行的索引

          int id = ConvertToInt32(GridView1Rows[drvRowIndex]Cells[0]Text); 

          

      //取ID的值方法三  

          //因为在客户端中就已经将LinkButton的CommandArgument与主键Id给绑定了所以在此可以直接用eCommandArgument得出主键ID的值

          int id = ConvertToInt32(eCommandArgumentToString()); 

        }

    }

你可以在触发事件的控件里面写一个

CommandName="xx" CommandArgument='<%# Eval("xx") %>'

例如:

<asp:LinkButton ID="linkbtnName" runat="server" CommandName="Show" CommandArgument='<%# Eval("fileId") %>' Text='<%# Eval("FileName") %>'></asp:LinkButton>

CommandArgument保存的是你想要的值,或者是你想要根据这个值查询

GridView 有一个RowCommand事件

cs文件:

protected void gvFile_RowCommand(object sender, GridViewCommandEventArgs e)

{

string cmd = eCommandName; //获得name

int Id = ConvertToInt32(eCommandArgument);

//如果你要的只是一个值的话 可以直接就写eCommandArgument

//得到fileinfo的集合

//FileInfo fileInfo = FileInfoManagerGetFileInfoByFileId(Id);

else if(cmd=="Show")

{

thistextBox1Text = Id;

//thistextBox1Text =fileInfoFileName;

}

}

前台(如果在后台代码中用eCommandArgument取值的话前台代码就必须在按钮中设置CommandArgument的值,值为绑定的数据库字段<asp:TemplateFieldHeaderText=" *** 作"

<ItemTemplate

<asp:LinkButtonID="LinkButton1"runat="server

"CommandName="QianRu"

CommandArgument='<%#Eval("Id")%'签入</asp:LinkButton

<asp:LinkButtonID="LinkButton2"runat="server"CommandName="QianChu"签出</asp:LinkButton

</ItemTemplate

</asp:TemplateField后台在GridView里已经设置了LinkButton为事件处理按钮,将通过以下方法获取索引

protectedvoidgv_Company_RowCommand(objectsender,GridViewCommandEventArgse){

if(eCommandName=="QianRu")

{//取ID的值方法一

GridViewRowdrv=((GridViewRow)(((LinkButton)(eCommandSource))ParentParent));//此得出的值是表示那行被选中的索引值

infid=ConvertToInt32(GridView1DataKeys[drvRowIndex]Value);//此获取的值为GridView中绑定数据库中的主键值

//取ID的值方法二

GridViewRowdrv=((GridViewRow)(((LinkButton)(eCommandSource))ParentParent));//此得出的值是表示那行被选中的索引值

//此获取的值为GridView中绑定数据库中的主键值,取值方法是选中的行中的第一列的值,drvRowIndex取得是选中行的索引

intid=ConvertToInt32(GridView1Rows[drvRowIndex]Cells[0]Text);

//取ID的值方法三

//因为在客户端中就已经将LinkButton的CommandArgument与主键Id给绑定了所以在此可以直接用eCommandArgument得出主键ID的值

linkbutton有个属性CommandArgument绑定的时候给这个属性赋与你想传的值。

如id:

CommandArgument=‘Eval("id")’

然后通过onclick事件去触发:

LinkButton lkb = sender as LinkButton;

string id=lkbCommandArgument;这个id就是你要传递到下个页面的值。

最后跳转:

可以用URL传参

ResponseRedirect("baspxid="+id);

也可以用Session去传

Session["id"]=id;

ResponseRedirect("baspx“);

再在b页面获取这个Session

注:中文的URL传参需要去编码>

我会,我给你说原理吧你可以增加一个LinkButton列用来获取该行的ID值,将LinKButton的CommandArgument属性和gridview记录的ID(你要记住给数据库的表定义一个标识ID)接着通过queryString传送这个ID值,在另一个页面时你通过查询数据库得到该记录的想要的值

需要在gridview中开启“启用选定内容”,这样就会多一个“选择”项出来。如果客户端点击“选择”按钮时,选定行就会背景变红。

gridview不响应在行的任意位置的单击事件的。

以上就是关于GridView1_RowCommand()中如何获取当前行全部的内容,包括:GridView1_RowCommand()中如何获取当前行、gridview 怎样获得选中行的内容、GridView 动态绑定数据在页面浏览是如何获取选中行数据的ID号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10159145.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存