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

[Solved] How to convert Gridview RowCreated() event into RadGrid ItemCreated() event

1 Answer 460 Views
Grid
This is a migrated thread and some comments may be shown as answers.
soft dazy
Top achievements
Rank 1
soft dazy asked on 16 Dec 2009, 07:56 PM
Hi,

I want to convert Asp.Net 3.5 Gridview RowCreated() event into RadGrid ItemCreated() event. I have tried but continously getting error.

Here is the RadGrid-

<telerik:RadGrid ID="gv" Width="748px" DataKeyNames="Id" DataSourceID="gvSqlDataSource"  PageSize="5" AllowMultiRowSelection="True" AutoGenerateColumns="False" runat="server" Gridlines="None" Skin="Default" EnableEmbeddedSkins="false" OnItemCommand="gv_ItemCommand" AllowPaging="True" AllowAutomaticDeletes="true" OnItemCreated="gv_ItemCreated">
                <ClientSettings EnableRowHoverStyle="true" />
                <PagerStyle Mode="NumericPages" PageButtonCount="5" EnableSEOPaging="True" />          
                 <MasterTableView AllowAutomaticDeletes="true" DataKeyNames="Id">
                     <Columns>
                       <telerik:GridTemplateColumn HeaderText="Scores">                      
                         
                          <ItemTemplate>
                                 <asp:Button id="btnScore" runat="server" CssClass="scoreButton" Text='<%# Eval("Score") + "\n Score!" %>' CausesValidation="False" CommandArgument='<%# Eval("Id") %>'></asp:Button>
                          </ItemTemplate>
                       </telerik:GridTemplateColumn>
 <telerik:GridTemplateColumn>
                            <ItemTemplate>                                
                                <asp:ImageButton runat="server" ID="btnDelete" ImageUrl="~/images/delete.gif" CommandName="Delete"/>
                            </ItemTemplate>
                        </telerik:GridTemplateColumn>                    
                        
                     </Columns>
                      <NoRecordsTemplate><br /><b>You have not entered any data yet!</b></NoRecordsTemplate>
                  </MasterTableView>
                     
           </telerik:RadGrid>
 <asp:SqlDataSource runat="server" ID="gvSqlDataSource" ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"

             SelectCommand="SELECT [Id], [score] FROM [tblScores] "
             DeleteCommand="DELETE FROM [tblScores] WHERE [Id] = @Id" >
             <DeleteParameters>
                <asp:Parameter Name="Id" Type="Int32" />        
            </DeleteParameters>
             </asp:SqlDataSource>

Here is the as.net 3.5 gridview's RowCreated() event-

protected void gv_RowCreated(object sender, GridViewRowEventArgs e)
      {
         if (e.Row.RowType == DataControlRowType.DataRow)
         {
            ImageButton btn = e.Row.Cells[1].Controls[0] as ImageButton;
            btn.OnClientClick = "if (confirm('Are you sure you want to delete this score?') == false) return false;";
         }
      }

I have converted this into the following ItemCreated() event to use it for RadGrid

protected void gv_ItemCreated(object sender, GridItemEventArgs e)
            {
                if (e.Item is GridDataItem)

                {
                    GridItemType item = (GridItemType)e.Item;
                    ImageButton btn = (ImageButton)e.Item.FindControl("btnDelete");
                    btn.OnClientClick = "if (confirm('Are you sure you want to delete this score?') == false) return false;";
                }
            }

But i'm getting error, anybody knows what i'm missing or doing wrong in the code.
Any help will be really appreciated.

Regards,
dazy


1 Answer, 1 is accepted

Sort by
0
Accepted
Daniel
Telerik team
answered on 16 Dec 2009, 09:42 PM
Hello,

Try one of the following snippets and examine the link, shown below:

protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        ImageButton btn = (ImageButton)e.Item.FindControl("btnDelete");
        btn.OnClientClick = "if (confirm('Are you sure you want to delete this score?') == false) return false;";
    }
}

protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        GridDataItem item = (GridDataItem)e.Item;
        TableCell cell = item["ColumnName"];
        ImageButton btn = (ImageButton)cell.FindControl("btnDelete");
        btn.OnClientClick = "if (confirm('Are you sure you want to delete this score?') == false) return false;";
    }
}


protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        GridDataItem item = (GridDataItem)e.Item;
        TableCell cell = item["ColumnName"];
        ImageButton btn = (ImageButton)cell.Controls[0]; //NOT RECOMMENDED
        btn.OnClientClick = "if (confirm('Are you sure you want to delete this score?') == false) return false;";
    }
}

Kind regards,
Daniel
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
Grid
Asked by
soft dazy
Top achievements
Rank 1
Answers by
Daniel
Telerik team
Share this question
or