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

[Solved] HELP!!!! Insert/EditDelete and Filter

2 Answers 76 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Ismail
Top achievements
Rank 1
Ismail asked on 13 Jul 2009, 01:49 PM
HI
i'm loading a grid using RadGrid1_NeedDataSource by binding a datasorce, how do i get the edit. insert and delete to work, at the moment it's not working, by code is pasted below.

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Grid.aspx.cs" Inherits="Grid" Title="Untitled Page" %> 
 
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %> 
 
 
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"
    <style type="text/css"
 
 
.RadGrid_Default 
    border:1px solid #232323; 
 
.RadGrid_Default 
    font:11px/1.4 arial,sans-serif; 
 
.RadGrid_Default 
    background:#d4d0c8; 
    color:#333; 
 
.GroupPanel_Default 
    border-top:1px solid #383838; 
    background:url('mvwres://Telerik.Web.UI, Version=2008.2.826.35, Culture=neutralPublicKeyToken=121fae78165ba3d4/Telerik.Web.UI.Skins.Default.Grid.sprite.gif') repeat-x 0 -400px #1f1f1f; 
    color:#8f8f8f; 
 
.MasterTable_Default 
    background:#fff; 
    border-collapse:separate !important; 
 
.MasterTable_Default 
    font:11px/1.4 arial,sans-serif; 
 
.GridHeader_Default 
    color:#fff; 
    text-decoration:none; 
 
.GridHeader_Default 
    border-bottom:1px solid #010101; 
    background:url('mvwres://Telerik.Web.UI, Version=2008.2.826.35, Culture=neutralPublicKeyToken=121fae78165ba3d4/Telerik.Web.UI.Skins.Default.Grid.headers.gif') repeat-x #434343; 
    padding:10px 6px 10px 11px; 
    text-align:left; 
    font-size:1.3em; 
    font-weight:normal; 
 
        #Table3 
        { 
            width: 681px; 
        } 
         
    .style2 
    { 
        height: 28px; 
    } 
         
    </style> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"
 
    <table style="width: 100%;"
        <tr> 
            <td class="style2"
                </td> 
        </tr> 
        <tr> 
            <td> 
                &nbsp;</td> 
        </tr> 
        <tr> 
            <td> 
                <telerik:RadGrid ID="RadGrid1" runat="server" AllowFilteringByColumn="True"  
                    AllowPaging="True"  AutoGenerateDeleteColumn="True"  
                    AutoGenerateEditColumn="True" GridLines="None" Skin="Vista"  
                    OnNeedDataSource="RadGrid1_NeedDataSource"  
                    OnGroupsChanging="RadGrid1_GroupsChanging" AllowAutomaticDeletes="True"  
                    AllowAutomaticInserts="True" AllowAutomaticUpdates="True" OnItemUpdated="RadGrid1_ItemUpdated" 
            OnItemDeleted="RadGrid1_ItemDeleted" OnItemInserted="RadGrid1_ItemInserted" > 
<HeaderContextMenu> 
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> 
</HeaderContextMenu> 
<PagerStyle Mode="NextPrevAndNumeric"></PagerStyle> 
<MasterTableView CommandItemDisplay="Top" EditMode ="PopUp" AllowFilteringByColumn="True" > 
<RowIndicatorColumn> 
<HeaderStyle Width="20px"></HeaderStyle> 
</RowIndicatorColumn> 
 
<ExpandCollapseColumn> 
<HeaderStyle Width="20px"></HeaderStyle> 
</ExpandCollapseColumn> 
</MasterTableView> 
 
                    <ClientSettings AllowKeyboardNavigation="True"
                    </ClientSettings> 
 
<FilterMenu> 
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> 
</FilterMenu> 
                </telerik:RadGrid> 
            </td> 
        </tr> 
    </table> 
 
    </asp:Content> 


using System; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 
using System.Data.SqlClient; 
using Telerik.Web.UI; 
using System.Collections.Generic; 
 
 
public partial class Grid : System.Web.UI.Page  
    string tbName; 
    protected void Page_Load(object sender, EventArgs e) 
    { 
         
        if (Session["ID"] != null
        { 
            tbName = Request["id"].ToString(); 
            if (!Page.IsPostBack) 
            { 
    
                ViewState["tbName"] = tbName; 
            } 
            else 
            { 
 
 
            }   
        } 
 
        else 
        { 
            Response.Redirect("login.aspx"); 
        } 
    } 
 





    protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e) 
    { 
 
        string sql = @"Select * from " + ViewState["tbName"].ToString() ; 
        SqlConnection oCon = new SqlConnection(DatabaseConnection.ConnectionString); 
        SqlCommand cmd = new SqlCommand(sql, oCon); 
        cmd.CommandType = CommandType.Text; 
        DataTable tblData = new DataTable(); 
        new SqlDataAdapter(cmd).Fill(tblData); 
        RadGrid1.DataSource = tblData; 
    } 
 
    bool isGrouping = false
    protected void RadGrid1_GroupsChanging(object source, GridGroupsChangingEventArgs e) 
    { 
        isGrouping = true
        if (e.Action == GridGroupsChangingAction.Ungroup && RadGrid1.CurrentPageIndex > 0) 
        { 
            isGrouping = false
        } 
    } 
 
 
 
    protected void RadGrid1_ItemUpdated(object source, Telerik.Web.UI.GridUpdatedEventArgs e) 
    { 
        GridEditableItem item = (GridEditableItem)e.Item; 
        String id = item.GetDataKeyValue("ProductID").ToString(); 
 
        if (e.Exception != null
        { 
            e.KeepInEditMode = true
            e.ExceptionHandled = true
            SetMessage("Product with ID " + id + " cannot be updated. Reason: " + e.Exception.Message); 
        } 
        else 
        { 
            SetMessage("Product with ID " + id + " is updated!"); 
        } 
    } 
 
    protected void RadGrid1_ItemInserted(object source, GridInsertedEventArgs e) 
    { 
        if (e.Exception != null
        { 
            e.ExceptionHandled = true
            SetMessage("Product cannot be inserted. Reason: " + e.Exception.Message); 
        } 
        else 
        { 
            SetMessage("New item is inserted!"); 
        } 
    } 
 
    protected void RadGrid1_ItemDeleted(object source, GridDeletedEventArgs e) 
    { 
        GridDataItem dataItem = (GridDataItem)e.Item; 
        String id = dataItem.GetDataKeyValue("ProductID").ToString(); 
 
        if (e.Exception != null
        { 
            e.ExceptionHandled = true
            SetMessage("item with ID " + id + " cannot be deleted. Reason: " + e.Exception.Message); 
        } 
        else 
        { 
            SetMessage("item with ID " + id + " is deleted!"); 
        } 
    } 
    private void SetMessage(string message) 
    { 
        gridMessage = message; 
    } 
 
    private string gridMessage = null
    protected void RadGrid1_DataBound(object sender, EventArgs e) 
    { 
        if (!string.IsNullOrEmpty(gridMessage)) 
        { 
            DisplayMessage(gridMessage); 
        } 
    } 
    private void DisplayMessage(string text) 
    { 
        RadGrid1.Controls.Add(new LiteralControl(string.Format("<span style='color:red'>{0}</span>", text))); 
    } 
 
 
 













2 Answers, 1 is accepted

Sort by
0
Ismail
Top achievements
Rank 1
answered on 14 Jul 2009, 06:36 AM
Hi
i edited my above post, i think i explained it all wrong the first time. can anyone help me get this working, i've wasted lot of time trying to fix it, but i just can't seem to get it working.
0
Georgi Krustev
Telerik team
answered on 16 Jul 2009, 09:02 AM
Hello Ismail,

ItemUpdated/ItemInserted/ItemDeleted events are raised only if the CRUD operations are managed with automatic operations. I will suggest you examine this online help article.

All the best,
Georgi Krustev
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
Tags
Grid
Asked by
Ismail
Top achievements
Rank 1
Answers by
Ismail
Top achievements
Rank 1
Georgi Krustev
Telerik team
Share this question
or