如何在代码后面的devExpress gridview中添加删除命令按钮?

时间:2012-12-31 09:34:21

标签: c# asp.net devexpress

我正在使用内部有命令按钮的DevExpress gridview。我想用图像代替它。怎么可能呢?

到目前为止,我已经尝试过这么多:

GridViewCommandColumn commancol = new GridViewCommandColumn(); 
commancol.ButtonType = ButtonType.Image; 
GridViewCommandColumnButton moveUpBtn; 
moveUpBtn.Image.Url = "~/App_Themes/Images/GridControl/grid-delete.png"; 
commancol.Add(moveUpBtn); 

但它给出了错误。

我想在.cs页面而不是aspx页面添加以下方式按钮。所以我试图在代码隐藏之上。

<dx:GridViewCommandColumn ButtonType="Image">
            <HeaderTemplate>
            </HeaderTemplate>
            <DeleteButton Visible="true" Text="" Image-Url="grid-delete.png"
                Image-ToolTip="Delete Record">
            </DeleteButton>
        </dx:GridViewCommandColumn>

由于

4 个答案:

答案 0 :(得分:0)

你可以像这样使用它, 1)在itemtemplate中声明imageButton 2)声明commandnamecommandargument 3)声明getimagepath 4)在cs页面声明getimage函数为

     <asp:TemplateField HeaderText="Edit" ItemStyle-VerticalAlign="Top">
    <ItemTemplate>
   <asp:ImageButton ID="ibDelete" runat="server" CommandName="Delete" CommandArgument='<%# Bind("") %>'
                            ImageUrl='<%#GetImagePath("delete.png")%>' Width="20" Height="20" OnClick="ibDelete_Click"
                            OnClientClick='<%# Eval("", "return confirm(\"Are you sure to delete - {0} ?\");") %>'
                            ToolTip="Delete Item" />
    </ItemTemplate>




public string GetImagePath(string imgName)
        {
            string Finalurl =  this.TemplateSourceDirectory + "/images/" + imgName;
            return Finalurl;
        }

5)声明像

这样的行命令
protected void row_command(object sender, gridviewrowcommand e)
{
     if(e.commandname=="Delete")
      {
           if(e.commandargument!=null)
            {
                  // do the work here
            }
       }
}

答案 1 :(得分:0)

我想从aspx页面后面的代码中添加一个下面的类型删除命令按钮。

<dx:GridViewCommandColumn ButtonType="Image">
                <HeaderTemplate>
                </HeaderTemplate>
                <DeleteButton Visible="true" Text="" Image-Url="grid-delete.png"
                    Image-ToolTip="Delete Record">
                </DeleteButton>
            </dx:GridViewCommandColumn>

答案 2 :(得分:0)

您可以简单地添加CommandColumn,但是您应该注意asp.net页面事件才能正常工作。

protected void Page_Init(object sender, EventArgs e)
{
    GridViewCommandColumn column = new GridViewCommandColumn("....");
    column.DeleteButton.Visible = true;
    column.DeleteButton.Image.Url = "set path here";
    column.Visible = true;
    column.VisibleIndex = 2;//place where you want it to display
    ASPxGridView1.Columns.Add(column); 
}
protected void Page_Load(object sender, EventArgs e)
{
   // Bind Data here
    BindData();
}

请参阅Command Columns的文档,然后您也可以获得另一个命令按钮,并在运行时根据需要设置其属性。

希望这有帮助..

答案 3 :(得分:0)

<dx:GridViewCommandColumn Name="deleteRow" ShowDeleteButton="True" VisibleIndex="3" ButtonType="Image">
                <CustomButtons>
                    <dx:GridViewCommandColumnCustomButton Visibility="AllDataRows" Image-Width="20" Image-Url="~/img/delete-icon.png"
                        Image-Height="20">
                        <Image Height="20px" Width="20px">
                        </Image>
                    </dx:GridViewCommandColumnCustomButton>
                </CustomButtons>
                <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle"></HeaderStyle>
            </dx:GridViewCommandColumn>