Hi, I am fairly new to asp.net. I am trying to build a 3 level deep hierarchy grid. I am using linq and joining multiple tables. The problem I am running into is at level 3, I want to insert a record, into that grid, and i want to use a custom edit form template. Which I want to have an insert and cancel button. How do i map these buttons to send Telerik.Web.UI.GridCommandEventArgs e, so that I know which grid is doing the insert?
Basically I want Insert and cancel buttons to work the same way as if I used a standard automatic insert mode.
<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="LinqDataSource1" GridLines="None" OnDeleteCommand="RadGrid1_ItemDeleted"
AllowAutomaticDeletes="True"
OnItemInserted="RadGrid1_ItemInserted" OnInsertCommand="RadGrid1_InsertCommand"
>
<MasterTableView DataSourceID="LinqDataSource1" DataKeyNames="day_id" AutoGenerateColumns="false" Name="Days">
<ExpandCollapseColumn Visible="True">
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn DataField="day_id" Visible="false"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="day_name" HeaderText="Day" ></telerik:GridBoundColumn>
</Columns>
<DetailTables>
<telerik:GridTableView DataSourceID="LinqDataSource2" DataKeyNames="day_group_id" Name="Groups" AutoGenerateColumns="false" AllowPaging="True">
<ParentTableRelation>
<telerik:GridRelationFields DetailKeyField="day_id" MasterKeyField="day_id" />
</ParentTableRelation>
<Columns>
<telerik:GridBoundColumn DataField="day_group_id" Visible="false"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="group_id" Visible="false"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="group_name" HeaderText="Group Name:"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="physician_selected" HeaderText="Physician Name"></telerik:GridBoundColumn>
</Columns>
<DetailTables>
<telerik:GridTableView DataSourceID="LinqDataSource3" DataKeyNames="day_group_user_id" Name="Users" AutoGenerateColumns="false" CommandItemDisplay="Top" AllowAutomaticDeletes="false">
<ParentTableRelation>
<telerik:GridRelationFields DetailKeyField="day_group_id" MasterKeyField="day_group_id" />
</ParentTableRelation>
<Columns>
<telerik:GridBoundColumn DataField="fname" HeaderText="First Name:"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="lname" HeaderText="Last Name:"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="email" HeaderText="Email:"></telerik:GridBoundColumn>
<telerik:GridButtonColumn ConfirmText="Remove this user?" ConfirmDialogType="RadWindow"
ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" CommandArgument="day_group_user_id"/>
</Columns>
<EditFormSettings CaptionFormatString="Edit EmployeeID: {0}"
CaptionDataField="EmployeeID" EditFormType="Template">
<FormTemplate>
<telerik:RadComboBox runat="server" DataSourceID="LinqDataSource4"
DataTextField="Name" DataValueField="user_id" AllowCustomText="false" Width="500">
<HeaderTemplate>
<table width="499px">
<tr>
<td width="30%">Name</td><td width="70%">Email</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table width="499px">
<tr>
<td width="30%"> <%# DataBinder.Eval(Container.DataItem, "name") %>
</td>
<td width="70%">
<%# DataBinder.Eval(Container.DataItem, "email") %>
</td>
</tr>
</table>
</ItemTemplate>
</telerik:RadComboBox>
<br />
<asp:linkbutton ID="Linkbutton1" runat="server" OnClick="LinkButton1_Click">Insert</asp:linkbutton>
<asp:linkbutton ID="Linkbutton2" runat="server">Cancel</asp:linkbutton>
</FormTemplate>
</EditFormSettings>
</telerik:GridTableView>
</DetailTables>
</telerik:GridTableView>
</DetailTables>
</MasterTableView>
</telerik:RadGrid>
Basically I want Insert and cancel buttons to work the same way as if I used a standard automatic insert mode.
<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="LinqDataSource1" GridLines="None" OnDeleteCommand="RadGrid1_ItemDeleted"
AllowAutomaticDeletes="True"
OnItemInserted="RadGrid1_ItemInserted" OnInsertCommand="RadGrid1_InsertCommand"
>
<MasterTableView DataSourceID="LinqDataSource1" DataKeyNames="day_id" AutoGenerateColumns="false" Name="Days">
<ExpandCollapseColumn Visible="True">
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn DataField="day_id" Visible="false"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="day_name" HeaderText="Day" ></telerik:GridBoundColumn>
</Columns>
<DetailTables>
<telerik:GridTableView DataSourceID="LinqDataSource2" DataKeyNames="day_group_id" Name="Groups" AutoGenerateColumns="false" AllowPaging="True">
<ParentTableRelation>
<telerik:GridRelationFields DetailKeyField="day_id" MasterKeyField="day_id" />
</ParentTableRelation>
<Columns>
<telerik:GridBoundColumn DataField="day_group_id" Visible="false"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="group_id" Visible="false"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="group_name" HeaderText="Group Name:"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="physician_selected" HeaderText="Physician Name"></telerik:GridBoundColumn>
</Columns>
<DetailTables>
<telerik:GridTableView DataSourceID="LinqDataSource3" DataKeyNames="day_group_user_id" Name="Users" AutoGenerateColumns="false" CommandItemDisplay="Top" AllowAutomaticDeletes="false">
<ParentTableRelation>
<telerik:GridRelationFields DetailKeyField="day_group_id" MasterKeyField="day_group_id" />
</ParentTableRelation>
<Columns>
<telerik:GridBoundColumn DataField="fname" HeaderText="First Name:"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="lname" HeaderText="Last Name:"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="email" HeaderText="Email:"></telerik:GridBoundColumn>
<telerik:GridButtonColumn ConfirmText="Remove this user?" ConfirmDialogType="RadWindow"
ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" CommandArgument="day_group_user_id"/>
</Columns>
<EditFormSettings CaptionFormatString="Edit EmployeeID: {0}"
CaptionDataField="EmployeeID" EditFormType="Template">
<FormTemplate>
<telerik:RadComboBox runat="server" DataSourceID="LinqDataSource4"
DataTextField="Name" DataValueField="user_id" AllowCustomText="false" Width="500">
<HeaderTemplate>
<table width="499px">
<tr>
<td width="30%">Name</td><td width="70%">Email</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table width="499px">
<tr>
<td width="30%"> <%# DataBinder.Eval(Container.DataItem, "name") %>
</td>
<td width="70%">
<%# DataBinder.Eval(Container.DataItem, "email") %>
</td>
</tr>
</table>
</ItemTemplate>
</telerik:RadComboBox>
<br />
<asp:linkbutton ID="Linkbutton1" runat="server" OnClick="LinkButton1_Click">Insert</asp:linkbutton>
<asp:linkbutton ID="Linkbutton2" runat="server">Cancel</asp:linkbutton>
</FormTemplate>
</EditFormSettings>
</telerik:GridTableView>
</DetailTables>
</telerik:GridTableView>
</DetailTables>
</MasterTableView>
</telerik:RadGrid>