代码之家  ›  专栏  ›  技术社区  ›  erik

将ImageButton添加到C中的DataGridView#

  •  1
  • erik  · 技术社区  · 16 年前

    我试图在我拥有的DataGridView中执行一个简单的“删除行”按钮,但问题是我希望它是一个ImageButton而不是一个简单的按钮。

    目前我把它设置为ButtonColumn,但是没有看到将它从一个简单的文本按钮更改为一个带有图像的按钮的可能性。

    我知道这是可能的,希望相对简单,但我不确定如何去做。

    编辑

    对不起,我得澄清一下。 这是纯C中的独立应用程序…我没有访问ASP表单类型的权限。

    5 回复  |  直到 14 年前
        1
  •  1
  •   greggorob64    16 年前

    如果你只想选择一个可点击的图片而不是图片按钮,那么有一个非常简单的解决方案。

    将ImageColumn添加到DGView中,将其“NullValue”设置为红色X或任何您想要的值。这将确保所有行始终显示X,而不需要额外的工作。

    之后,您将要添加一个“cellcontentclick”事件来捕获实际单击X的用户。

    在CellContent Click事件中,可以检查

    //check if your clicking on a cell inside the imagecolumn column
    if(e.ColumnIndex == this.colImageColumn.index && e.RowIndex > 0)
       //Delete Row e.RowIndex
    
        2
  •  1
  •   John Hpa    16 年前
    <asp:buttonfield ButtonType="Image" ImageUrl="/images/edit.gif"  commandname="ibtnEdit"  HeaderText=" " />
    
        3
  •  1
  •   Robb    16 年前

    这个 Code Project article 看起来这正是你需要的。

        4
  •  0
  •   Sachin    14 年前

    在事件数据报视图主单元内容单击“编写以下代码”

      if (e.ColumnIndex == dataGridViewMain.Columns["ImageColumn"].Index)
      {
      lblShowCellData.Text = dataGridViewMain.Rows[e.RowIndex].Cells["CustomerName"].Value.ToString();
      // Do some thing else....
      }
    

    下载完整的源代码 http://tablegridview.blogspot.in

        5
  •  -1
  •   Naveed Butt    16 年前

    您可以在GridView中使用模板字段。就像这样:

    <asp:TemplateField HeaderText="Delete">
      <ItemTemplate>
        <asp:ImageButton ID="imgBtnDelete" runat="server" OnClick="imgBtnDelete_Click" ImageUrl="~/media/Delete.gif">
        </asp:ImageButton>
      </ItemTemplate>
    </asp:TemplateField>
    
    推荐文章