I am able to update and delete the rows from RadGrid but It gives me following exception on insert :-
Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: Cannot insert the value NULL into column 'Alert_Level_ID', table 'AlertEmailManagement.dbo.Alert_Level'; column does not allow nulls. INSERT fails.
The statement has been terminated.
The problem is it does insert the row in Database and I am sure that alert_level_id is not null.
eher is my code:-
Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: Cannot insert the value NULL into column 'Alert_Level_ID', table 'AlertEmailManagement.dbo.Alert_Level'; column does not allow nulls. INSERT fails.
The statement has been terminated.
The problem is it does insert the row in Database and I am sure that alert_level_id is not null.
eher is my code:-
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/ITIMaster.Master" CodeBehind="AlertLevelAdmin.aspx.vb" Inherits="EmailAlertsMonitor.AlertLevelAdmin" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <telerik:RadGrid ID="gvAlertLevels" runat="server" AutoGenerateColumns="False" CellSpacing="0" DataSourceID="SqlDataSource1" GridLines="None" Skin="Outlook" AllowAutomaticDeletes ="true" AllowAutomaticUpdates ="true" AllowAutomaticInserts="true" > <MasterTableView DataSourceID="SqlDataSource1" DataKeyNames ="Alert_Level_ID" CommandItemDisplay ="TopAndBottom" > <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"> <HeaderStyle Width="20px"></HeaderStyle> </RowIndicatorColumn> <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"> <HeaderStyle Width="20px"></HeaderStyle> </ExpandCollapseColumn> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn> </EditFormSettings> <Columns > <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"> <ItemStyle CssClass="MyImageButton" /> </telerik:GridEditCommandColumn> <telerik:GridButtonColumn ConfirmText="Are you sure you want to delete this alert?" ConfirmDialogType="RadWindow" ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete" UniqueName="DeleteColumn"> <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" /> </telerik:GridButtonColumn> <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn column" UniqueName="TemplateColumn" HeaderText ="Alert Level ID"> <ItemTemplate > <asp:Label ID="lblAlertLevelID" runat ="server" Text ='<%#EVAL("Alert_Level_ID") %>'></asp:Label> </ItemTemplate> <EditItemTemplate > <asp:TextBox ID="txtAlertLevelID" runat ="server" Text ='<%#EVAL("Alert_Level_ID") %>'></asp:TextBox> <asp:CompareValidator ID="cvAlertLevelID" runat ="server" ControlToValidate ="txtAlertLevelID" Operator ="DataTypeCheck" Type ="Integer" SetFocusOnError ="true" ErrorMessage ="Alert Level ID must be numeric." ForeColor ="Red" ValidationGroup ="editData" ></asp:CompareValidator> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn column" UniqueName="TemplateColumn" HeaderText ="Alert Level Description"> <ItemTemplate > <asp:Label ID="lblAlertLevel" runat ="server" Text ='<%#EVAL("Alert_Level") %>'></asp:Label> </ItemTemplate> <EditItemTemplate > <asp:TextBox ID="txtAlertLevel" runat ="server" Text ='<%#EVAL("Alert_Level") %>'></asp:TextBox> <asp:RequiredFieldValidator ID="rvAlertLevel" runat ="server" ControlToValidate="txtAlertLevel" SetFocusOnError ="true" ErrorMessage ="Must enter Alert Level Description." ForeColor ="Red" ValidationGroup ="editData"></asp:RequiredFieldValidator> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn column" UniqueName="TemplateColumn3" HeaderText ="Alert Level Color Code"> <ItemTemplate > <asp:Label ID="lblAlertLevelColor" runat ="server" Text ='<%#EVAL("Alert_Level_Color_Code") %>'></asp:Label> </ItemTemplate> <EditItemTemplate > <telerik:RadColorPicker ID="RadColorPicker1" runat="server" ShowIcon="true" OnColorChanged ="RadColorPicker1_ColorChanged" Width ="250px" Height ="400px" > </telerik:RadColorPicker> </EditItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> <FilterMenu EnableImageSprites="False"></FilterMenu> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu> </telerik:RadGrid> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DBConnectionString %>" SelectCommand="SELECT * FROM [Alert_Level]" InsertCommand ="INSERT INTO [Alert_Level] VALUES(@alertLevelID,@alertLevel,@alertColorCode)" UpdateCommand ="UPDATE [Alert_Level] SET alert_level=@alertLevel,alert_level_color_code=@alertColorCode WHERE alert_Level_ID=@alertLevelID" DeleteCommand ="DELETE FROM [Alert_Level] WHERE alert_Level_ID=@alertLevelID" > <InsertParameters > <asp:Parameter Name ="AlertLevelID" Type ="Int16" /> <asp:Parameter Name ="AlertLevel" Type ="String" /> <asp:Parameter Name ="AlertColorCode" Type ="String" /> </InsertParameters> <UpdateParameters > <asp:Parameter Name ="AlertLevelID" Type ="Int16" /> <asp:Parameter Name ="AlertLevel" Type ="String" /> <asp:Parameter Name ="AlertColorCode" Type ="String" /> </UpdateParameters> <DeleteParameters > <asp:Parameter Name ="AlertLevelID" Type ="Int16" /> </DeleteParameters> </asp:SqlDataSource> </asp:Content> Imports Telerik.Web.UI Imports System.Drawing Public Class AlertLevelAdmin Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load End Sub Public Sub RadColorPicker1_ColorChanged(ByVal sender As Object, ByVal e As EventArgs) Dim RadColorPicker1 As RadColorPicker = CType(sender, RadColorPicker) Dim gvItem As GridItem = DirectCast(RadColorPicker1.NamingContainer, GridItem) gvItem.BackColor = RadColorPicker1.SelectedColor End Sub Private Sub gvAlertLevels_ItemDataBound(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) Handles gvAlertLevels.ItemDataBound If TypeOf e.Item Is GridDataItem Then Dim item As GridDataItem = DirectCast(e.Item, GridDataItem) item("TemplateColumn3").BackColor = ColorTranslator.FromHtml((DataBinder.Eval(e.Item.DataItem, ("Alert_Level_Color_Code").ToString))) End If Dim radColorPicker1 As RadColorPicker = DirectCast(e.Item.FindControl("RadColorPicker1"), RadColorPicker) If Not IsNothing(radColorPicker1) Then If Not IsDBNull(DataBinder.Eval(e.Item.DataItem, ("Alert_Level_Color_Code"))) Then radColorPicker1.SelectedColor = ColorTranslator.FromHtml((DataBinder.Eval(e.Item.DataItem, ("Alert_Level_Color_Code").ToString))) End If End If End Sub Private Sub gvAlertLevels_ItemDeleted(sender As Object, e As Telerik.Web.UI.GridDeletedEventArgs) Handles gvAlertLevels.ItemDeleted Try Dim item As GridDataItem = DirectCast(e.Item, GridDataItem) Dim alertLevelID As Integer = CInt(item.GetDataKeyValue("Alert_Level_ID").ToString) SqlDataSource1.DeleteParameters("AlertLevelID").DefaultValue = alertLevelID SqlDataSource1.Delete() Catch ex As Exception End Try End Sub Private Sub gvAlertLevels_ItemInserted(sender As Object, e As Telerik.Web.UI.GridInsertedEventArgs) Handles gvAlertLevels.ItemInserted Try Dim alertLevelID As Integer = DirectCast(e.Item.FindControl("txtAlertLevelID"), TextBox).Text Dim alertLevel As String = DirectCast(e.Item.FindControl("txtAlertLevel"), TextBox).Text Dim alertColorCode As String = ColorTranslator.ToHtml(DirectCast(e.Item.FindControl("RadColorPicker1"), RadColorPicker).SelectedColor) SqlDataSource1.InsertParameters("AlertLevelID").DefaultValue = alertLevelID SqlDataSource1.InsertParameters("AlertLevel").DefaultValue = alertLevel.ToUpper SqlDataSource1.InsertParameters("AlertColorCode").DefaultValue = alertColorCode SqlDataSource1.Insert() Catch ex As Exception End Try End Sub Private Sub gvAlertLevels_ItemUpdated(sender As Object, e As Telerik.Web.UI.GridUpdatedEventArgs) Handles gvAlertLevels.ItemUpdated Try Dim item As GridEditFormItem = DirectCast(e.Item, GridEditFormItem) Dim alertLevelID As Integer = CInt(item.GetDataKeyValue("Alert_Level_ID").ToString) Dim alertLevel As String = DirectCast(item.FindControl("txtAlertLevel"), TextBox).Text Dim alertColorCode As String = ColorTranslator.ToHtml(DirectCast(item.FindControl("RadColorPicker1"), RadColorPicker).SelectedColor) SqlDataSource1.UpdateParameters("AlertLevelID").DefaultValue = alertLevelID SqlDataSource1.UpdateParameters("AlertLevel").DefaultValue = alertLevel.ToUpper SqlDataSource1.UpdateParameters("AlertColorCode").DefaultValue = alertColorCode SqlDataSource1.Update() Catch ex As Exception End Try End Sub End Class