The onupdatecommand and oninsertcommand no longer fire for my grids. I also get and error that I need a scriptmanager, never got this before. The ondeletecommand does fire.There was a recent change to the master file, only in format (images etc.). Any ideas what I should do?
<%@ Page Language="C#" MasterPageFile="~/Masters/Site.Master" AutoEventWireup="true" |
CodeBehind="Nouns.aspx.cs" Inherits="MIDI_Internal.Lookups.NSNs.Nouns" Title="MIDI - Manage Nouns" %> |
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" |
Namespace="System.Web.UI" TagPrefix="asp" %> |
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> |
</asp:Content> |
<asp:Content ID="Content2" ContentPlaceHolderID="cphPageTitle" runat="server"> |
Manage Nouns |
</asp:Content> |
<asp:Content ID="Content3" ContentPlaceHolderID="cphMainBody" runat="server"> |
<script type="text/javascript"> |
function KeyPressed(sender, eventArgs) |
{ |
//alert(eventArgs.get_keyCode()); |
if (eventArgs.get_keyCode()==13) |
{ |
//alert('Cancel me'); |
//selectedRow = -1; |
eventArgs.set_cancel(true); |
//FireCommandEvent ("Update", GridCommandEventArgs); |
//return false; |
} |
} |
</script> |
<asp:ObjectDataSource ID="ObjectDataSourceLookup" runat="server" |
DeleteMethod="Delete" InsertMethod="Insert" |
SelectMethod="GetDT" UpdateMethod="Update" |
TypeName="MIDI_Internal.BLL_Noun" > |
<DeleteParameters> |
<asp:Parameter Name="NounID" Type="Int32" /> |
</DeleteParameters> |
<UpdateParameters> |
<asp:Parameter Name="NounID" Type="Int32" /> |
<asp:Parameter Name="Noun" Type="String" /> |
</UpdateParameters> |
<SelectParameters> |
<asp:Parameter Name="NounID" Type="Int32" /> |
</SelectParameters> |
<InsertParameters> |
<asp:Parameter Name="Noun" Type="String" /> |
</InsertParameters> |
</asp:ObjectDataSource> |
<telerik:RadGrid ID="RadGridLookup" runat="server" AllowFilteringByColumn="True" |
AllowPaging="True" AllowSorting="True" GridLines="None" Skin="Mac" |
EnableAJAX="True" width="60%" AllowAutomaticDeletes="true" |
AllowAutomaticInserts="true" AllowAutomaticUpdates="true" |
PagerStyle-Mode="NextPrevNumericAndAdvanced" ClientSettings-Resizing-AllowColumnResize="true" |
DataSourceID="ObjectDataSourceLookup" |
OnItemDeleted="RadGridLookup_ItemDeleted" OnItemDataBound="RadGridLookup_ItemDataBound" |
OnDeleteCommand="RadGridLookup_DeleteCommand" OnItemInserted="RadGridLookup_ItemInserted" |
OnInit="RadGridLookup_Init" OnColumnCreated="RadGridLookup_ColumnCreated" |
OnInsertCommand="RadGridLookup_InsertCommand" |
OnItemUpdated="RadGridLookup_ItemUpdated" |
OnUpdateCommand="RadGridLookup_UpdateCommand" |
onitemcommand="RadGridLookup_ItemCommand" |
onitemcreated="RadGridLookup_ItemCreated" > |
<ClientSettings AllowKeyboardNavigation="true" ClientEvents-OnKeyPress="KeyPressed"> |
<Selecting AllowRowSelect="true" /> |
</ClientSettings> |
<PagerStyle Mode="NextPrevNumericAndAdvanced" AlwaysVisible="true" Position="Bottom"></PagerStyle> |
<MasterTableView allowmulticolumnsorting="True" pagesize="15" CommandItemDisplay="TopAndBottom" |
autogeneratecolumns="False" DataKeyNames="NounID" datasourceid="ObjectDataSourceLookup" > |
<RowIndicatorColumn Visible="False"> |
<HeaderStyle Width="20px"></HeaderStyle> |
</RowIndicatorColumn> |
<ExpandCollapseColumn Visible="False" Resizable="False"> |
<HeaderStyle Width="20px"></HeaderStyle> |
</ExpandCollapseColumn> |
<Columns> |
<telerik:GridEditCommandColumn ButtonType="ImageButton" UpdateImageUrl="~\RadControls\Skins\Mac\Grid\Update.gif" |
EditImageUrl="~\RadControls\Skins\Mac\Grid\Edit.gif" InsertImageUrl="~\RadControls\Skins\Mac\Grid\AddRecord.gif" |
CancelImageUrl="~\RadControls\Skins\Mac\Grid\Cancel.gif" |
UniqueName="EditCommandColumn" EditText="Edit Noun"> |
</telerik:GridEditCommandColumn> |
<telerik:GridBoundColumn DataField="NounId" DataType="System.Int32" HeaderText="ID" |
ReadOnly="True" SortExpression="NounId" UniqueName="NounId" Visible="false"> |
</telerik:GridBoundColumn> |
<telerik:GridTemplateColumn HeaderText="Noun" DataField="Noun" SortExpression="Noun" AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" UniqueName="NounTemplate"> |
<ItemTemplate > |
<asp:Label ID="lblNoun" runat="server" Text='<%#Eval("Noun")%>' /> |
</ItemTemplate> |
<EditItemTemplate > |
<asp:TextBox ID="txtNoun" Text='<%#Bind("Noun")%>' runat="server" Width="80%" /><asp:RequiredFieldValidator ID="rValNoun" runat="server" ControlToValidate="txtNoun" ErrorMessage="*" Enabled="true" Text="Required Field" /> |
</EditItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridButtonColumn ConfirmText="Are you sure you want to delete this record?" ButtonType="ImageButton" ImageUrl="~\RadControls\Skins\Mac\Grid\Delete.gif" CommandName="Delete" Text="Delete" UniqueName="DeleteColumn"> |
<HeaderStyle Width="20px" /> |
</telerik:GridButtonColumn> |
</Columns> |
</MasterTableView> |
<ClientSettings> |
<Selecting AllowRowSelect="true" /> |
</ClientSettings> |
</telerik:RadGrid> |
</asp:Content> |
using System; |
using System.Collections; |
using System.Configuration; |
using System.Data; |
using System.Web; |
using System.Web.Security; |
using System.Web.UI; |
using System.Web.UI.WebControls; |
using System.Web.UI.WebControls.WebParts; |
using System.Web.UI.HtmlControls; |
using System.Collections.Generic; |
using Telerik.Web.UI; |
namespace MIDI_Internal.Lookups.NSNs |
{ |
public partial class Nouns : MIDI_Internal.AppCode._libraries.LookupBasePage |
{ |
protected void Page_PreInit(object sender, EventArgs e) |
{ |
Page.Theme = (string)Session["MyTheme"]; |
} |
protected void Page_Load(object sender, EventArgs e) |
{ |
RadGridLookup.MasterTableView.EditMode = GridEditMode.InPlace; |
// wire sort event handler to take care of sorting after an insert occurs (see base class event handler) |
RadGridLookup.SortCommand += new GridSortCommandEventHandler(RadGridLookup_SortCommand); |
} |
/// <summary> |
/// handles users selection to change the paging style at the footer of the grid |
/// </summary> |
/// <param name="sender"></param> |
/// <param name="e"></param> |
protected virtual void ddlPaging_SelectedIndexChanged(object sender, EventArgs e) |
{ |
// Get current selected Paging Option // |
//string currentPager = ddlPaging.SelectedValue.ToString(); |
//UpdatePagingThemes(RadGridLookup, currentPager); |
} |
/// <summary> |
/// When a noun is inserted in the grid, ascertain there are no duplicate nouns in the tbMIDI_noun table that exist with this noun, |
/// this event will look for this Noun and cancel the insert if a duplicate exist, display to user. |
/// Requirements met: |
/// 4.5.3.1.4 NOUN-1 Noun - no duplicates |
/// 4.5.3.1.2 NOUN-2 Ability to add a new noun |
/// </summary> |
/// <param name="source">RadGrid</param> |
/// <param name="e"></param> |
protected void RadGridLookup_InsertCommand(object source, GridCommandEventArgs e) |
{ |
if ((e.Item is GridDataInsertItem) && (e.Item.OwnerTableView.IsItemInserted)) |
{ |
GridDataInsertItem edititem = (GridDataInsertItem)e.Item; |
string strVal = ((TextBox)edititem["NounTemplate"].FindControl("txtNoun")).Text; |
AppCode.DALs.MIDI_DAL.tbMIDI_NounDataTable _noun = new MIDI_Internal.AppCode.DALs.MIDI_DAL.tbMIDI_NounDataTable(); |
_noun = BLL_Noun.GetDT(null); |
DataRow[] _dr1 = _noun.Select("Noun='" + strVal.Replace("'", "''").ToString() + "'"); |
if (_dr1.Length > 0) |
{ |
e.Canceled = true; |
DisplayAlertMessage("Can not insert this noun, the noun already exists"); |
} |
_noun.Dispose(); |
_noun = null; |
} |
} |
/// <summary> |
/// When an item is deleted from the noun grid, ascertain there are no NSNs that exist with this noun, user must delete these first. |
/// this event will look for thise NSNs and cancel the delete if NSNs exist, display to user. |
/// Requirements met: |
/// 4.5.3.1.4 NOUN-4 |
/// 4.5.3.1.4 NOUN-4.1 |
/// </summary> |
/// <param name="source">RadGrid</param> |
/// <param name="e"></param> |
protected override void RadGridLookup_DeleteCommand(object source, GridCommandEventArgs e) |
{ |
base.RadGridLookup_DeleteCommand(source, e); |
int id = 0; |
AppCode.DALs.MIDI_DAL.tbMIDI_NSNDataTable _nsn = new MIDI_Internal.AppCode.DALs.MIDI_DAL.tbMIDI_NSNDataTable(); |
//data key value not in the GridCommandEventArgs object, need to extract |
//id = int.Parse(((GridTableCell)(RadGridLookup.MasterTableView.Controls[0] as Table).Rows[e.Item.RowIndex].Cells[3]).Text); |
id = int.Parse(e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["NounID"].ToString()); |
//_nsn = BLL_NSN.GetDT(null); |
_nsn = BLL_NSN.RetrieveNSNByNounForm(-1, id); |
DataRow[] _dr1 = _nsn.Select("nounId=" + id.ToString()); |
if (_dr1.Length > 0) |
{ |
e.Canceled = true; |
string NSNs = ""; |
for (int i = 0; i < _dr1.Length; i++) |
{ |
NSNs += @"\n"; |
NSNs += "" + _dr1[i]["NSN"].ToString() + ""; |
} |
DisplayAlertMessage("Can not delete this noun, NSN records exist: " + NSNs); |
} |
_nsn.Dispose(); |
_nsn = null; |
} |
/// <summary> |
/// When a noun is updated in the grid, ascertain there are no nouns that match the updated value in the tbMIDI_Noun table, |
/// can not add duplicates |
/// this event will look for this noun in tbMIDI_Noun and cancel the update if it exist, display to user. |
/// Requirements met: |
/// 4.5.3.1.4 NOUN-3 Ability to select and modify an existing noun |
/// </summary> |
/// <param name="source">RadGrid</param> |
/// <param name="e"></param> |
protected override void RadGridLookup_UpdateCommand(object source, GridCommandEventArgs e) |
{ |
//Get the GridEditableItem of the RadGrid |
GridEditableItem eeditedItem = e.Item as GridEditableItem; |
//Get the primary key value using the DataKeyValue. |
string NounID = editedItem.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["NounID"].ToString(); |
//Access the textbox from the edit form template and store the values in string variables. |
string strVal = (editedItem["NounTemplate"].FindControl("txtNoun") as TextBox).Text; |
AppCode.DALs.MIDI_DAL.tbMIDI_NounDataTable _noun = new MIDI_Internal.AppCode.DALs.MIDI_DAL.tbMIDI_NounDataTable(); |
_noun = BLL_Noun.GetDT(null); |
DataRow[] _dr1 = _noun.Select("Noun='" + strVal.Replace("'", "''").ToString() + "'"); |
if (_dr1.Length > 0 && (string.Compare(strVal, (string)Session["savedOldValue"], StringComparison.CurrentCultureIgnoreCase) != 0)) |
{ |
e.Canceled = true; |
DisplayAlertMessage("Can not update this noun, the noun name already exists in the database."); |
(editedItem["NounTemplate"].FindControl("txtNoun") as TextBox).Text = (string)Session["savedOldValue"]; |
} |
_noun.Dispose(); |
_noun = null; |
} |
protected override void RadGridLookup_ItemCreated(object sender, GridItemEventArgs e) |
{ |
base.RadGridLookup_ItemCreated(sender, e); |
if (e.Item is GridFilteringItem) |
{ |
AdjustFilterColumnTextBox("NounTemplate", 80, e); |
} |
} |
} |
} |