I'm trying to access the parent item column values from a detail grid in the RadGrid1_UpdateCommand event. I've tried the various methods below which do not work. How can this be done?
Thanks
.cs
protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e)
{
//Get the GridEditableItem of the RadGrid
GridEditableItem editedItem = e.Item as GridEditableItem;
string xref_map_id;
string xref_map_key;
string xref_map_description;
string in_dataType;
string out_dataType;
if (e.Item.OwnerTableView.Name == "Detail")
{
//Need to get the parent row values here
//GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem; //doesn't work
//GridDataItem dataItem = e.Item.OwnerTableView.ParentItem; //doesn't work
//cast the item to GridEditFormItem
GridEditFormItem formItem = e.Item as GridEditFormItem;
//reference its parent data item
GridDataItem dataItem = formItem.ParentItem as GridDataItem;
xref_map_key = dataItem[
"XREF_MAP_KEY"].Text;
xref_map_id = dataItem[
"XREF_MAP_ID"].Text;
date_updated = dataItem[
"DATE_UPDATED"].Text;
xref_map_description = dataItem[
"XREF_MAP_DESCRIPTION"].Text;
in_dataType = dataItem[
"IN_DATA_TYPE"].Text;
out_dataType = dataItem[
"OUT_DATA_TYPE"].Text;
etc.aspx:
<%
@ Page Language="C#" MasterPageFile="~/Navigation1.Master" AutoEventWireup="true" CodeBehind="AdminMapData.aspx.cs" Inherits="EAI_Dashboard.AdminMapData" Title="Map Data Administration" %>
<%
@ Register Assembly="RadAjax.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %>
<%
@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %>
<%
@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %>
<%
@ Register Assembly="RadComboBox.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %>
<%
@ Register Assembly="RadGrid.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %>
<
asp:Content ID="Content1" ContentPlaceHolderID="_titleContent2" runat="server">
Map Data Administration
</
asp:Content>
<
asp:Content ID="Content2" ContentPlaceHolderID="_mainContent2" runat="server">
<rad:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" AllowSorting="True" GridLines="None" OnNeedDataSource="RadGrid1_NeedDataSource" OnUpdateCommand="RadGrid1_UpdateCommand" OnInsertCommand="RadGrid1_InsertCommand" OnDeleteCommand="RadGrid1_DeleteCommand" OnDetailTableDataBind="RadGrid1_DetailTableDataBind" EnableAJAX="True" AutoGenerateColumns="False" PageSize="25" Width="100%">
<MasterTableView Name="Master" DataKeyNames="XREF_MAP_ID" PageSize="15" AllowFilteringByColumn="True" Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False">
<DetailTables>
<rad:GridTableView CommandItemDisplay="Top" Name="Detail" Width="100%" AllowSorting="False"
runat="server" PageSize="10" Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Size="X-Small" Font-Strikeout="False" Font-Underline="False">
<Columns>
<rad:GridBoundColumn DataField="ATTRIBUTE_DESCRIPTION" HeaderText="Attribute Description"
SortExpression="ATTRIBUTE_DESCRIPTION" UniqueName="ATTRIBUTE_DESCRIPTION" >
</rad:GridBoundColumn>
<rad:GridBoundColumn DataField="PARM_NAME" HeaderText="Parm Name"
SortExpression="PARM_NAME" UniqueName="PARM_NAME" ReadOnly="True" Visible="False">
</rad:GridBoundColumn>
<rad:GridEditCommandColumn>
</rad:GridEditCommandColumn>
<rad:GridButtonColumn CommandName="Delete" Text="Delete" UniqueName="column">
</rad:GridButtonColumn>
</Columns>
<ExpandCollapseColumn Resizable="False" Visible="False">
<HeaderStyle Width="20px" />
</ExpandCollapseColumn>
<RowIndicatorColumn Visible="False">
<HeaderStyle Width="20px" />
</RowIndicatorColumn>
<HeaderStyle BackColor="Olive" Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Size="X-Small" Font-Strikeout="False" Font-Underline="False" Wrap="True" ForeColor="White" HorizontalAlign="Center" />
</rad:GridTableView>
</DetailTables>
<ExpandCollapseColumn Resizable="False">
<HeaderStyle Width="20px" />
</ExpandCollapseColumn>
<RowIndicatorColumn Visible="False">
<HeaderStyle Width="20px" />
</RowIndicatorColumn>
<Columns>
<rad:GridBoundColumn DataField="XREF_MAP_ID" HeaderText="Xref Map ID"
SortExpression="XREF_MAP_ID" UniqueName="XREF_MAP_ID" ReadOnly="True" Visible="False">
</rad:GridBoundColumn>
<rad:GridBoundColumn DataField="XREF_MAP_KEY" HeaderText="Xref Map Key"
SortExpression="XREF_MAP_KEY" UniqueName="XREF_MAP_KEY" >
</rad:GridBoundColumn>
<rad:GridBoundColumn DataField="XREF_MAP_DESCRIPTION" HeaderText="Xref Map Description"
SortExpression="XREF_MAP_DESCRIPTION" UniqueName="XREF_MAP_DESCRIPTION" >
</rad:GridBoundColumn>
<rad:GridBoundColumn DataField="GROUP_NAME" HeaderText="Group"
SortExpression="GROUP_NAME" UniqueName="GROUP_NAME" ReadOnly="True">
</rad:GridBoundColumn>
<rad:GridBoundColumn DataField="IN_DATATYPE" HeaderText="In Data Type"
SortExpression="IN_DATATYPE" UniqueName="IN_DATATYPE" >
</rad:GridBoundColumn>
<rad:GridBoundColumn DataField="OUT_DATATYPE" HeaderText="Out Data Type"
SortExpression="OUT_DATATYPE" UniqueName="OUT_DATATYPE" >
</rad:GridBoundColumn>
<rad:GridCheckBoxColumn DataField="MULTIPLE_ROW_RESULT_BOOL" HeaderText="Multiple Row Result" UniqueName="MULTIPLE_ROW_RESULT">
</rad:GridCheckBoxColumn>
<rad:GridBoundColumn DataField="ATTRIBUTE01_DESCRIPTION" HeaderText="Attribute 01 Description"
SortExpression="ATTRIBUTE01_DESCRIPTION" UniqueName="ATTRIBUTE01_DESCRIPTION" ReadOnly="True" Visible="False">
</rad:GridBoundColumn>
<rad:GridBoundColumn DataField="ATTRIBUTE02_DESCRIPTION" HeaderText="Attribute 02 Description"
SortExpression="ATTRIBUTE02_DESCRIPTION" UniqueName="ATTRIBUTE02_DESCRIPTION" ReadOnly="True" Visible="False">
</rad:GridBoundColumn>
<rad:GridBoundColumn DataField="ATTRIBUTE03_DESCRIPTION" HeaderText="Attribute 03 Description"
SortExpression="ATTRIBUTE03_DESCRIPTION" UniqueName="ATTRIBUTE03_DESCRIPTION" ReadOnly="True" Visible="False">
</rad:GridBoundColumn>
<rad:GridBoundColumn DataField="ATTRIBUTE04_DESCRIPTION" HeaderText="Attribute 04 Description"
SortExpression="ATTRIBUTE04_DESCRIPTION" UniqueName="ATTRIBUTE04_DESCRIPTION" ReadOnly="True" Visible="False">
</rad:GridBoundColumn>
<rad:GridBoundColumn DataField="ATTRIBUTE05_DESCRIPTION" HeaderText="Attribute 05 Description"
SortExpression="ATTRIBUTE05_DESCRIPTION" UniqueName="ATTRIBUTE05_DESCRIPTION" ReadOnly="True" Visible="False">
</rad:GridBoundColumn>
<rad:GridBoundColumn DataField="DATE_CREATED" DataType="System.DateTime" HeaderText="DATE_CREATED"
SortExpression="DATE_CREATED" UniqueName="DATE_CREATED" ReadOnly="True" Visible="False">
</rad:GridBoundColumn>
<rad:GridBoundColumn DataField="DATE_UPDATED" DataType="System.DateTime" HeaderText="DATE_UPDATED"
SortExpression="DATE_UPDATED" UniqueName="DATE_UPDATED" ReadOnly="True" Visible="False">
</rad:GridBoundColumn>
<rad:GridEditCommandColumn ShowSortIcon="False">
</rad:GridEditCommandColumn>
<rad:GridButtonColumn CommandName="Delete" Text="Delete" UniqueName="column" ShowSortIcon="False">
</rad:GridButtonColumn>
</Columns>
<EditFormSettings EditFormType="Template">
<FormTemplate>
<table id="Table2" width="100%" border="1" rules="none"
style="border-collapse: collapse;background:white;">
<tr>
<td>
<asp:Label ID="Label7" runat="server" Text="Xref Map Key: "> </asp:Label>
</td>
<td>
<asp:TextBox ID="XrefMapKey" Text='<%# Bind( "XREF_MAP_KEY") %>' runat="server" Visible=true
Rows="5" Columns="40" TabIndex="5">
</asp:TextBox>
<asp:RequiredFieldValidator id="XrefMapKeyRequiredFieldValidator"
ControlToValidate="XrefMapKey"
Display="Static"
ErrorMessage="Required"
runat="server"/>
</td>
</tr>
<tr>
<td>
<asp:Label ID="MessageLabel" runat="server" Text="Xref Map Description: "> </asp:Label>
</td>
<td>
<asp:TextBox ID="XrefMapDescription" Text='<%# Bind( "XREF_MAP_DESCRIPTION") %>' runat="server"
Rows="5" Columns="40" TabIndex="5">
</asp:TextBox>
<asp:RequiredFieldValidator id="XrefMapDescriptionRequiredFieldValidator"
ControlToValidate="XrefMapDescription"
Display="Static"
ErrorMessage="Required"
runat="server"/>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label3" runat="server" Text="In Data Type: "> </asp:Label>
</td>
<td>
<asp:DropDownList ID="Group" runat="server" DataTextField="GROUP_NAME" DataValueField="GROUP_ID"
SelectedValue='<%# Bind("GROUP_ID") %>' DataSourceID="ODS_GROUP_SqlDataSource" TabIndex="7" AppendDataBoundItems="True">
</asp:DropDownList>
</td>
</tr>
<tr>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="In Data Type: "> </asp:Label>
</td>
<td>
<asp:DropDownList ID="InDataType" runat="server" DataTextField="IN_DATATYPE"
SelectedValue='<%# Bind("IN_DATATYPE") %>' TabIndex="7" AppendDataBoundItems="True">
<asp:ListItem>DATE</asp:ListItem>
<asp:ListItem>CHAR</asp:ListItem>
<asp:ListItem>NUMBER</asp:ListItem>
<asp:ListItem></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label2" runat="server" Text="Out Data Type: "> </asp:Label>
</td>
<td>
<asp:DropDownList ID="OutDataType" runat="server" DataTextField="OUT_DATATYPE"
SelectedValue='<%# Bind("OUT_DATATYPE") %>' TabIndex="7" AppendDataBoundItems="True">
<asp:ListItem>DATE</asp:ListItem>
<asp:ListItem>CHAR</asp:ListItem>
<asp:ListItem>NUMBER</asp:ListItem>
<asp:ListItem></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td>
<asp:Label ID="AvailableLabel" runat="server" Text="Multiple Row Result: "> </asp:Label>
</td>
<td>
<asp:Checkbox ID="MultipleRowResult" Checked='<%# GetCheckboxBool(Eval("MULTIPLE_ROW_RESULT_BOOL") as string) %>' runat="server"
TabIndex="4">
</asp:Checkbox>
<asp:TextBox ID="DateUpdated" Text='<%# Bind( "DATE_UPDATED") %>' runat="server" Visible=false
Rows="5" Columns="40" >
</asp:TextBox>
<asp:TextBox ID="Atttribute01Description" Text='<%# Bind( "ATTRIBUTE01_DESCRIPTION") %>' runat="server" Visible=false
Rows="5" Columns="40" >
</asp:TextBox>
<asp:TextBox ID="Atttribute02Description" Text='<%# Bind( "ATTRIBUTE02_DESCRIPTION") %>' runat="server" Visible=false
Rows="5" Columns="40" >
</asp:TextBox>
<asp:TextBox ID="Atttribute03Description" Text='<%# Bind( "ATTRIBUTE03_DESCRIPTION") %>' runat="server" Visible=false
Rows="5" Columns="40" >
</asp:TextBox>
<asp:TextBox ID="Atttribute04Description" Text='<%# Bind( "ATTRIBUTE04_DESCRIPTION") %>' runat="server" Visible=false
Rows="5" Columns="40" >
</asp:TextBox>
<asp:TextBox ID="Atttribute05Description" Text='<%# Bind( "ATTRIBUTE05_DESCRIPTION") %>' runat="server" Visible=false
Rows="5" Columns="40" >
</asp:TextBox>
</tr>
<tr>
<td align="right" colspan="2">
<td>
<asp:Button ID="Button1" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'
runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'>
</asp:Button>
<
asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False"
CommandName
="Cancel"></asp:Button></td>
</tr>
</table>
</FormTemplate>
</EditFormSettings>
<HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" HorizontalAlign="Center" Wrap="True" />
<PagerStyle Position="TopAndBottom" />
</MasterTableView>
<PagerStyle Mode="NextPrevAndNumeric" Position="TopAndBottom" />
<ExportSettings FileName="EventDashboard">
</ExportSettings>
</rad:RadGrid>
<asp:SqlDataSource ID="ODS_GROUP_SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ODSConn %>"
ProviderName="<%$ ConnectionStrings:ODSConn.ProviderName %>" SelectCommand="SELECT GROUP_ID, GROUP_NAME FROM ODS_GROUP UNION SELECT null, '' FROM ODS_GROUP">
</asp:SqlDataSource>
<br />
</
asp:Content>