首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GridView中的imageButton选择行

使用GridView中的imageButton选择行
EN

Stack Overflow用户
提问于 2011-02-25 04:37:16
回答 3查看 21.8K关注 0票数 1

我正在尝试使用网格视图中的图像按钮来选择一行,这样我就可以使用SelectedIndexChanged函数来做其他事情。我已经尝试过了:

代码语言:javascript
复制
    <asp:ImageButton ID="Image1" CommandName="SelectRowGrid2" runat="server" ImageUrl="~/images/select.png" />

  Protected Sub GridView2_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView2.RowCommand
        Select Case e.CommandName
            Case "SelectRowGrid2"
                'some code for selecting the index?
                Label1.Text = GridView2.SelectedIndex
        End Select
    End Sub

但是当我去调试它的时候,它甚至没有进入RowCommand子程序。在进阶时谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-25 04:48:38

可以将GridView的AutoGenerateSelectButton设置为true,也可以将LinkButton的CommandName设置为“”

或者您可以尝试执行以下操作:

代码语言:javascript
复制
 Protected Sub ImgSelect_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)  
     Dim row As GridViewRow = DirectCast(DirectCast(sender, ImageButton).NamingContainer, GridViewRow)
     DirectCast(row.NamingContainer, GridView).SelectedIndex = row.RowIndex
 End Sub

aspx:

代码语言:javascript
复制
<asp:TemplateField HeaderText="Select">
     <ItemTemplate >
         <asp:ImageButton ID="ImgSelect" OnClick="ImgSelect_Click" runat="server" />
      </ItemTemplate>
</asp:TemplateField>
票数 3
EN

Stack Overflow用户

发布于 2011-02-25 04:49:48

我在c#中已经做过很多次了。也许我能帮你。

有些事情我做的和你不一样:

我称之为CellContentClick而不是RowCommand。2.我想查看一下,单击了行中的哪个单元格3.检查该行是否不为空4.如果是我的图像按钮单元格,则获取我的行数据

1.

代码语言:javascript
复制
private void dgv_CellContentClick(object sender, DataGridViewCellEventArgs e)

2.

代码语言:javascript
复制
if (e.ColumnIndex == dgv.Columns["btnClmn"].Index)

3.

代码语言:javascript
复制
if (dgvAllApplication.CurrentRow != null)

4.

代码语言:javascript
复制
txtName.Text = dgv.CurrentRow.Cells["App_Name"].Value.ToString();

祝好运!

票数 1
EN

Stack Overflow用户

发布于 2011-02-25 04:58:31

您可以在imagebutton上创建单击事件,然后在该行上执行所需的任何操作

代码语言:javascript
复制
 protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        ImageButton img = (ImageButton)sender;
        GridViewRow row = (GridViewRow)img.Parent.Parent;

        //do stuff
        //find label in the same row
        Label lbl = (Label)row.FindControl("Label1");
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5110142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档