This is a migrated thread and some comments may be shown as answers.

[Solved] ItemCommand Event in grid is not called when trying to delete an item

2 Answers 201 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Jen
Top achievements
Rank 1
Jen asked on 24 Apr 2009, 12:36 PM

When I want to remove an item from the grid, the ItemCommand Event is not triggered. Can someone help me with this?

My ascx page:

<telerik:RadGrid ID="gridPromo" runat="server" AutoGenerateColumns="False" EnableAJAX="true" 
    GridLines="None" OnItemCommand="gridPromo_ItemCommand" 
    EnableEmbeddedSkins="False" Skin="BDB" AllowAutomaticDeletes="false">  
<HeaderContextMenu EnableTheming="True">  
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> 
</HeaderContextMenu> 
 
<MasterTableView> 
<RowIndicatorColumn> 
<HeaderStyle Width="20px"></HeaderStyle> 
</RowIndicatorColumn> 
 
<ExpandCollapseColumn> 
<HeaderStyle Width="20px"></HeaderStyle> 
</ExpandCollapseColumn> 
    <Columns> 
        <telerik:GridTemplateColumn HeaderText="Afbeelding" UniqueName="Afbeelding" DataField="Folder">  
            <ItemTemplate> 
                <asp:Image ID="afbPromo" runat="server" /> 
            </ItemTemplate> 
        </telerik:GridTemplateColumn> 
        <telerik:GridBoundColumn DataField="Alt" HeaderText="Alt" UniqueName="Alt">  
        </telerik:GridBoundColumn> 
        <telerik:GridButtonColumn ConfirmText="Wilt u deze afbeelding verwijderen?" ButtonType="ImageButton" ImageUrl="~/images/action_delete.gif" CommandName="Delete" Text="Delete" UniqueName="DeleteColumn" >              
        </telerik:GridButtonColumn> 
    </Columns> 
    <EditFormSettings> 
        <EditColumn CancelImageUrl="Cancel.gif" EditImageUrl="Edit.gif"   
            InsertImageUrl="Update.gif" UpdateImageUrl="Update.gif">  
        </EditColumn> 
    </EditFormSettings> 
</MasterTableView> 
 
<FilterMenu EnableTheming="True">  
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> 
</FilterMenu> 
</telerik:RadGrid> 
<br /> 
<span style="float:right">  
    <asp:ImageButton ID="imgbuRefresh" ImageUrl="~/images/action_refresh.gif" runat="server" />&nbsp;  
    <asp:ImageButton ID="imgBuAdd" ImageUrl="~/Portals/_default/Skins/BDB-Blue/images/add.gif" runat="server" />       
</span> 
<telerik:RadWindowManager ID="windowMgrPromo" runat="server" Animation="Resize"   
    DestroyOnClose="True">  
<Windows> 
<telerik:RadWindow ID="windowPromo" runat="server" Skin="Forest" NavigateUrl="PromoUpload.aspx" VisibleStatusbar="False" VisibleTitlebar="True" Height="300" Width="700">  
</telerik:RadWindow> 
<telerik:RadWindow ID="windowMessage" runat="server"></telerik:RadWindow> 
</Windows> 
</telerik:RadWindowManager> 
<asp:Label ID="lblTest" runat="server"></asp:Label> 

And mij code-behind page:
Private Sub Page_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load  
            Dim _controller As New BDB_Promo_SettingsController  
 
            colBDB_Promo_Settings = _controller.GetAllBDB_Promo_Settings()  
            gridPromo.DataSource = colBDB_Promo_Settings  
            gridPromo.DataBind()  
 
            windowPromo.VisibleOnPageLoad = True 
            windowPromo.Visible = False 
        End Sub 
        Protected Sub imgBuAdd_Click(ByVal sender As ObjectByVal e As System.Web.UI.ImageClickEventArgs) Handles imgBuAdd.Click              
            windowPromo.Visible = True 
        End Sub 
        Protected Sub imgbuRefresh_Click(ByVal sender As ObjectByVal e As System.Web.UI.ImageClickEventArgs) Handles imgbuRefresh.Click  
 
        End Sub 
        Protected Sub gridPromo_ItemCommand(ByVal source As ObjectByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles gridPromo.ItemCommand           
            lblTest.Text = "dddddddffff" 
            lblTest.Visible = True 
        End Sub 
        Protected Sub gridPromo_PreRender(ByVal sender As ObjectByVal e As System.EventArgs) Handles gridPromo.PreRender  
            Dim gridRows As GridItemCollection = gridPromo.Items  
            Dim obj As BDB.Modules.BDB_Promo_Settings.BDB_Promo_SettingsInfo  
            Dim afbeelding As System.Web.UI.WebControls.Image  
 
            For Each data As GridDataItem In gridRows  
                obj = data.DataItem  
                afbeelding = CType(data.FindControl("afbPromo"), System.Web.UI.WebControls.Image)  
                afbeelding.ImageUrl = obj.Lokatie  
                afbeelding.ToolTip = obj.Alt  
                afbeelding.Height = 100  
                afbeelding.Width = 100  
            Next 
        End Sub
#End Region 

2 Answers, 1 is accepted

Sort by
0
Accepted
Princy
Top achievements
Rank 2
answered on 24 Apr 2009, 12:54 PM
Hello Jennifer,

The DeleteCommand will not fire as the grid is rebound on every postback. So try replacing the code in the PageLoad event with the following code:
VB:
Private Sub Page_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load  
          If Not IsPostBack  
            Dim _controller As New BDB_Promo_SettingsController   
  
            colBDB_Promo_Settings = _controller.GetAllBDB_Promo_Settings()   
            gridPromo.DataSource = colBDB_Promo_Settings   
            gridPromo.DataBind()   
  
            windowPromo.VisibleOnPageLoad = True  
            windowPromo.Visible = False  
          End If 
End Sub  

Thanks
Princy. 
0
Jen
Top achievements
Rank 1
answered on 24 Apr 2009, 01:18 PM
Thank you for your fast reply and help, that was the sollution.
Tags
Grid
Asked by
Jen
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Jen
Top achievements
Rank 1
Share this question
or