Hello All,
In searching the various Telerik webpages outthere I found:
http://www.telerik.com/help/aspnet-ajax/grid-updating-inplace-and-editforms.html , that has examples on how to use the builtin edit form to edit a row in the grid... I've tried to get my code as close as possible, but I'm not getting very far. When it gets to the line:
It give me an error of "NullReferenceException occurred"
Here is my page and the code behind as well:
and here is my code behind for the update event:
OK all, Any Ideas as to what the heck I'm doing wrong????
as a caveat, I'm a total "Newbie" at the telerik controls, and it's been a long time since I've done any ASP programming, like back before ASP.Net, yes back in the classic days...
Thanks in advance,
Kevin Orcutt
Kevin.Orcutt@MatsomMoney.com
In searching the various Telerik webpages outthere I found:
http://www.telerik.com/help/aspnet-ajax/grid-updating-inplace-and-editforms.html , that has examples on how to use the builtin edit form to edit a row in the grid... I've tried to get my code as close as possible, but I'm not getting very far. When it gets to the line:
e.Item.OwnerTableView.ExtractValuesFromItem(newValues, editableItem)Here is my page and the code behind as well:
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.Master" ValidateRequest="false" CodeBehind="AppSettings.aspx.vb" Inherits="AdminTools.AppSettings" MaintainScrollPositionOnPostback="true" %><%@ MasterType VirtualPath="~/Site.Master" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><asp:Content ID="Content1" ContentPlaceHolderID="ContentHeader" runat="server"> <style type="text/css"> .div { clear: both; padding: 5px; } .col1 { float: left; width: 75%; background-color: #E1E1E1; min-height: 700px; } .col2 { float: left; width: 20%; background-color: #EFEFEF; min-height: 700px; padding-left: 10px; } .row { clear: both; padding: 5px; } .cell { float: left; min-width: 200px; padding-right: 15px; } </style> <script type="text/javascript"> function ShowNewForm(element) { var objElement = $get(element); if (objElement.style.visibility == "hidden") { objElement.style.visibility = "visible"; objElement.style.display = ""; } else { objElement.style.visibility = "hidden"; objElement.style.display = "none"; } } </script></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <div id="PageMain"> <div style="margin: 50px;"> <div id="Applications" class="div"> <div class="div"> Application:</div> <div> <telerik:RadComboBox ID="cboApplication" runat="server" AutoPostBack="true" Width="200px"> </telerik:RadComboBox> </div> </div> <div id="Settings" runat="server" class="div"> <telerik:RadGrid ID="dgvAppSettings" runat="server" skin="Outlook" AllowPaging="true" Pagesize="20" AllowSorting="true" AutoGenerateColumns="false" OnNeedDataSource="dgvAppSettings_OnNeedDataSource" OnItemCommand="dgvAppSettings_ItemCommand" ShowStatusBar="true"> <ClientSettings EnableAlternatingItems="true" EnableRowHoverStyle="true" EnablePostBackOnRowClick="true" > <Selecting AllowRowSelect="true" /> </ClientSettings> <MasterTableView CommandItemDisplay="Bottom" AutoGenerateColumns="false" DataKeyNames="ID"> <Columns> <telerik:GridEditCommandColumn AutoPostBackOnFilter="true" ButtonType="ImageButton" UniqueName="EditCommandColumn"> </telerik:GridEditCommandColumn> <telerik:GridBoundColumn DataField="ID" HeaderText="ID" SortExpression="ID" UniqueName="ID" Visible="false" MaxLength="5" ReadOnly="true"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="AppID" HeaderText="AppID" SortExpression="AppID" UniqueName="AppID" Visible="false" MaxLength="5"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="SettingType" HeaderText="Setting Type" UniqueName="SettingType" Visible="true" MaxLength="5"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="SettingName" HeaderText="Setting Name" UniqueName="SettingName" Visible="true" MaxLength="50"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="SettingValue" HeaderText="Setting Value" UniqueName="SettingValue" Visible="true"> </telerik:GridBoundColumn> </Columns> <EditFormSettings> <EditColumn ButtonType="ImageButton" /> </EditFormSettings> </MasterTableView> </telerik:RadGrid> <asp:Label ID="Label1" runat="server" /> </div> </div> </div></asp:Content>and here is my code behind for the update event:
Protected Sub dgvAppSettings_UpdateCommand(sender As Object, e As Telerik.Web.UI.GridCommandEventArgs) Handles dgvAppSettings.UpdateCommand Dim editableItem = (DirectCast(e.Item, GridEditableItem)) Dim SettingsTable As DataTable = Me.GridSource Dim changedRows As DataRow() = SettingsTable.Select("ID = " + editableItem.OwnerTableView.DataKeyValues(editableItem.ItemIndex)("ID").ToString()) If changedRows.Length <> 1 Then e.Canceled = True Return End If Dim newValues As New Hashtable() ' *** ' It get past the "Dim of newValues..." just fine... however, on the next line it give me the error... ' *** e.Item.OwnerTableView.ExtractValuesFromItem(newValues, editableItem) changedRows(0).BeginEdit() Try For Each entry As DictionaryEntry In newValues changedRows(0)(DirectCast(entry.Key, String)) = entry.Value Next changedRows(0).EndEdit() Catch ex As Exception changedRows(0).CancelEdit() e.Canceled = True End Try Label1.Text += " Table to be updated: " + e.Item.OwnerTableView.DataMember + "<br>"End SubOK all, Any Ideas as to what the heck I'm doing wrong????
as a caveat, I'm a total "Newbie" at the telerik controls, and it's been a long time since I've done any ASP programming, like back before ASP.Net, yes back in the classic days...
Thanks in advance,
Kevin Orcutt
Kevin.Orcutt@MatsomMoney.com