I have Radgrid with 6 columns
One of the column say 4th_col can have multiple rows within itself.
Basically the parent row id will be the key for retrieving the rows for 4th column.
I am doing inline editing on complet parent rows which means the 4ht column rows are also open.Now on top of that I should be able to add rows in the 4th column.
I hope I am clear
Do you have any sugesstions/ approaches?
Thanks
myData.Rows.Add(0, 0,
"Ben"
,
"has no kids"
, DBNull.Value);
myData.Rows.Add(1, 0,
"Ralph"
,
"has no kids"
, DBNull.Value);
myData.Rows.Add(2, 0,
"Betty"
,
"is a mother"
, DBNull.Value);
myData.Rows.Add(3, 0,
"David"
,
"is a father"
, DBNull.Value);
myData.Rows.Add(0, 0,
"Ralph's Age"
,
"33"
, 1);
myData.Rows.Add(0, 0,
"Ralph's Eye Color"
,
"Red"
, 1);
myData.Rows.Add(0, 0,
"David's Age"
,
"77"
, 3);
myData.Rows.Add(0, 4,
"Sam"
,
"is David's son"
, 3);
myData.Rows.Add(0, 5,
"Beth"
,
"is David's daughter"
, 3);
myData.Rows.Add(0, 6,
"Ruth"
,
"is Betty's daughter"
, 2);
myData.Rows.Add(0, 0,
"Beth's Blood Type"
,
"O+"
, 5);
myData.Rows.Add(0, 0,
"Ruth's Height"
,
"82 inches"
, 6);
myData.Rows.Add(0, 0,
"Ruth's Shoe Size"
,
"10"
, 6);
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="RadGrid.Net2" Namespace="Telerik.WebControls" TagPrefix="rad" %>
<!DOCTYPE html>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
div
>
<%-- Old, but working
<
rad:RadGrid
runat
=
"server"
ID
=
"MyRadGrid"
OnNeedDataSource
=
"MyRadGrid_NeedDataSource"
MasterTableView-HierarchyLoadMode
=
"Client"
OnPreRender
=
"MyRadGrid_PreRender"
>
<
MasterTableView
HierarchyDefaultExpanded
=
"true"
HierarchyLoadMode
=
"Client"
DataKeyNames
=
"TheParent, GUID"
FilterExpression
=
"TheParent = 0"
ShowHeadersWhenNoRecords
=
"false"
>
<
SelfHierarchySettings
ParentKeyName
=
"TheParent"
KeyName
=
"GUID"
MaximumDepth
=
"3"
/>
</
MasterTableView
>
<
ClientSettings
AllowExpandCollapse
=
"true"
></
ClientSettings
>
</
rad:RadGrid
>
--%>
<
rad:RadGrid
runat
=
"server"
ID
=
"MyRadGrid"
OnNeedDataSource
=
"MyRadGrid_NeedDataSource"
MasterTableView-HierarchyLoadMode
=
"Client"
OnPreRender
=
"MyRadGrid_PreRender"
>
<
MasterTableView
HierarchyDefaultExpanded
=
"true"
HierarchyLoadMode
=
"Client"
DataKeyNames
=
"DirectParent, ID"
ShowHeadersWhenNoRecords
=
"false"
>
<
SelfHierarchySettings
ParentKeyName
=
"DirectParent"
KeyName
=
"ID"
MaximumDepth
=
"3"
/>
<%--
<
DetailTables
>
<
rad:GridTableView
HierarchyDefaultExpanded
=
"true"
HierarchyLoadMode
=
"Client"
DataKeyNames
=
"DirectParent, ChildID"
ShowHeadersWhenNoRecords
=
"false"
>
<
SelfHierarchySettings
ParentKeyName
=
"DirectParent"
KeyName
=
"ChildID"
MaximumDepth
=
"1"
/>
</
rad:GridTableView
>
</
DetailTables
>
--%>
</
MasterTableView
>
<
ClientSettings
AllowExpandCollapse
=
"true"
></
ClientSettings
>
</
rad:RadGrid
>
</
div
>
</
form
>
</
body
>
</
html
>
<
telerik:RadGrid
runat
=
"server"
ID
=
"rgrdClaimantStatus"
AutoGenerateColumns
=
"False"
Skin
=
"Windows7"
OnInt
=
"InitializeGrid"
Style
=
"margin-top: 0px"
OnNeedDataSource
=
"rgrdClaimantStatus_NeedDataSource"
OnUpdateCommand
=
"rgrdClaimantStatus_UpdateCommand"
OnInsertCommand
=
"rgrdClaimantStatus_InsertCommand"
OnDeleteCommand
=
"rgrdClaimantStatus_DeleteCommand"
OnItemCommand
=
"rgrdClaimantStatus_ItemCommand"
OnItemDataBound
=
"rgrdClaimantStatus_ItemDataBound"
OnPreRender
=
"rgrdClaimantStatus_PreRender"
OnItemCreated
=
"rgrdClaimantStatus_ItemCreated"
TabIndex
=
"21"
>
<
MasterTableView
commanditemdisplay
=
"Top"
EditMode
=
"InPlace"
ShowHeadersWhenNoRecords
=
"True"
>
<
Columns
>
<
telerik:GridButtonColumn
CommandName
=
"Delete"
ButtonType
=
"ImageButton"
ImageUrl
=
"~/PPSPortal/images/Cancel.gif"
UniqueName
=
"DeleteColumn"
ShowInEditForm
=
"True"
/>
<
telerik:GridTemplateColumn
UniqueName
=
"StatusDesc"
DataField
=
"StatusDesc"
HeaderText
=
"Status"
FooterStyle-Font-Bold
=
"true"
FooterStyle-Wrap
=
"false"
ItemStyle-Wrap
=
"false"
>
<
ItemTemplate
>
<
telerik:RadComboBox
runat
=
"server"
ID
=
"rcbClaimantStatusCode"
Width
=
"100"
Text='<%# Bind("StatusDesc") %>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"DateFrom"
DataField
=
"DateFrom"
HeaderText
=
"Date From"
FooterStyle-Font-Bold
=
"true"
FooterStyle-Wrap
=
"false"
ItemStyle-Wrap
=
"false"
>
<
ItemTemplate
>
<
telerik:RadDatePicker
runat
=
"server"
ID
=
"rdpClaimantStatusStartDate"
width
=
"150"
DbSelectedDate='<%# Bind("DateFrom") %>'>
<
Calendar
UseRowHeadersAsSelectors
=
"False"
UseColumnHeadersAsSelectors
=
"False"
ViewSelectorText
=
"x"
></
Calendar
>
<
DateInput
DisplayDateFormat
=
"M/d/yyyy"
DateFormat
=
"M/d/yyyy"
TabIndex
=
"2"
/>
<
DatePopupButton
ImageUrl
=
""
HoverImageUrl
=
""
TabIndex
=
"2"
></
DatePopupButton
>
</
telerik:RadDatePicker
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"DateTo"
DataField
=
"DateTo"
HeaderText
=
"Date To"
FooterStyle-Font-Bold
=
"true"
FooterStyle-Wrap
=
"false"
ItemStyle-Wrap
=
"false"
>
<
ItemTemplate
>
<
telerik:RadDatePicker
runat
=
"server"
ID
=
"rdpClaimantEndDate"
width
=
"150"
onkeydown
=
"ClaimantStatusEndDateKeyDown(this, event)"
DbSelectedDate='<%# Bind("DateTo") %>'>
<
Calendar
UseRowHeadersAsSelectors
=
"False"
UseColumnHeadersAsSelectors
=
"False"
ViewSelectorText
=
"x"
></
Calendar
>
<
DateInput
DisplayDateFormat
=
"M/d/yyyy"
DateFormat
=
"M/d/yyyy"
TabIndex
=
"2"
/>
<
DatePopupButton
ImageUrl
=
""
HoverImageUrl
=
""
TabIndex
=
"2"
></
DatePopupButton
>
</
telerik:RadDatePicker
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"DateCreated"
DataField
=
"DateCreated"
HeaderText
=
"Date Created"
FooterStyle-Font-Bold
=
"true"
FooterStyle-Wrap
=
"false"
ItemStyle-Wrap
=
"false"
>
<
ItemTemplate
>
<
asp:Label
runat
=
"server"
ID
=
"lblClaimantDateCreated"
Width
=
"150"
Text='<%# Bind("DateCreated") %>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"DateEdited"
DataField
=
"DateEdited"
HeaderText
=
"Date Edited"
FooterStyle-Font-Bold
=
"true"
FooterStyle-Wrap
=
"false"
ItemStyle-Wrap
=
"false"
>
<
ItemTemplate
>
<
asp:Label
runat
=
"server"
ID
=
"lblClaimantDateEdited"
Width
=
"150"
Text='<%# Bind("DateEdited") %>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"ModifiedBy"
DataField
=
"ModifiedBy"
HeaderText
=
"Modified By"
FooterStyle-Font-Bold
=
"true"
FooterStyle-Wrap
=
"false"
ItemStyle-Wrap
=
"false"
>
<
ItemTemplate
>
<
asp:Label
runat
=
"server"
ID
=
"lblClaimantModifiedBy"
Width
=
"150"
Text='<%# Bind("ModifiedBy") %>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"True"
EnableDragToSelectRows
=
"false"
/>
<
DataBinding
EnableCaching
=
"True"
/>
<
ClientEvents
OnKeyPress
=
"KeyPressed"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
protected
void
rgrdClaimantStatus_ItemDataBound(
object
source, GridItemEventArgs e)
{
if
(e.Item
is
GridDataItem)
{
//SetEditModeColumnWidths(e.Item as GridDataItem);
RadComboBox status = ((e.Item
as
GridDataItem)[
"StatusDesc"
].FindControl(
"rcbClaimantStatusCode"
)
as
RadComboBox);
LoadClaimantStatusList(status, Convert.ToInt32((GetSelectedCompany())));
}
}
protected
void
LoadClaimantStatusList(RadComboBox rddlStatus,
int
companyId)
{
ReferenceProcess rc =
new
ReferenceProcess();
Dictionary<
int
,
string
> statusList = rc.GetClaimantStatusList(CentralDBConnString, companyId);
rddlStatus.DataSource = statusList;
rddlStatus.DataTextField =
"Value"
;
rddlStatus.DataValueField =
"Key"
;
rddlStatus.DataBind();
rddlStatus.Items.Insert(0,
new
RadComboBoxItem(
"Select a status"
,
string
.Empty));
}
<telerik:RadGrid ID="RecipientsGrid" runat="server" AutoGenerateColumns="false" EnableViewState="true" PageSize="5" AllowFilteringByColumn="true" AllowPaging="true" AllowSorting="True">
<EditFormSettings EditFormType="Template">
<FormTemplate>
<telerik:RadComboBox ID="CountryCombo" runat="server">
</telerik:RadComboBox>
<telerik:RadComboBox ID="ProvinceCombo" runat="server" Width="325" >
</telerik:RadComboBox>
</FormTemplate>
</EditFormSettings>
</telerik:RadGrid>
Private
Sub
RecipientsGrid_ItemDataBound(sender
As
Object
, e
As
Telerik.Web.UI.GridItemEventArgs)
Handles
RecipientsGrid.ItemDataBound
If
TypeOf
e.Item
Is
GridEditFormItem
AndAlso
e.Item.IsInEditMode
Then
Dim
editItem
As
GridEditFormItem =
DirectCast
(e.Item, GridEditFormItem)
Dim
ProvinceCombo
As
RadComboBox = TryCast(editItem.FindControl(
"ProvinceCombo"
), RadComboBox)
Dim
CountryCombo
As
RadComboBox = TryCast(editItem.FindControl(
"CountryCombo"
), RadComboBox)
Dim
CityCombo
As
RadComboBox = TryCast(editItem.FindControl(
"CityCombo"
), RadComboBox)
'** Populate ComboBoxes and define their Default Value
Using context
As
New
DataEntities
With
CountryCombo
.DataValueField =
"CountryId"
.DataTextField =
"CountryName"
.DataSource = context.Countries.OrderBy(
Function
(x) x.displayOrder).ToList
End
With
CountryCombo.Width = Unit.Pixel(320)
CountryCombo.DataBind()
End
Using
Using context
As
New
DataEntities
With
ProvinceCombo
.DataValueField =
"ProvinceId"
.DataTextField =
"NameEnglish"
.DataSource = context.Provinces.Where(
Function
(x) x.CountryId = CountryId).OrderBy(
Function
(x) x.NameEnglish).ToList
End
With
ProvinceCombo.Width = Unit.Pixel(320)
ProvinceCombo.DataBind()
End
Using
Using context
As
New
DataEntities
With
CityCombo
.DataValueField =
"CityId"
.DataTextField =
"CityName"
.DataSource = context.Cities.Where(
Function
(x) x.ProvinceID = ProvinceId).OrderBy(
Function
(x) x.CityName).ToList
End
With
CityCombo.Width = Unit.Pixel(320)
CityCombo.DataBind()
End
Using
SetComboBoxDefault(CountryId, CountryCombo,
"Country"
)
SetComboBoxDefault(ProvinceId, ProvinceCombo,
"Province/State"
)
SetComboBoxDefault(CityId, CityCombo,
"City"
)
End
If
End
Sub
Public
Sub
SetComboBoxDefault(
ByVal
FindItemByValue
As
Integer
,
ByVal
Control
As
RadComboBox,
ByVal
DisplayText
As
String
)
Dim
ComboBoxItem
As
RadComboBoxItem
If
FindItemByValue >0
Then
ComboBoxItem = Control.FindItemByValue(FindItemByValue)
ComboBoxItem.Selected =
True
Else
Control.Items.Insert(0,
New
RadComboBoxItem(
"-- Please select a "
& DisplayText &
" --"
,
String
.Empty))
End
If
End
Sub
Private
Sub
RecipientsGrid_ItemCreated(sender
As
Object
, e
As
Telerik.Web.UI.GridItemEventArgs)
Handles
RecipientsGrid.ItemCreated
If
TypeOf
e.Item
Is
GridEditFormItem
AndAlso
e.Item.IsInEditMode
Then
'if the item is in edit mode
Dim
editItem
As
GridEditFormItem =
DirectCast
(e.Item, GridEditFormItem)
Dim
CountryCombo
As
RadComboBox =
DirectCast
(editItem.FindControl(
"CountryCombo"
), RadComboBox)
CountryCombo.AutoPostBack =
True
AddHandler
CountryCombo.SelectedIndexChanged,
AddressOf
CountryCombo_SelectedIndexChanged
End
If
End
Sub
Protected
Sub
CountryCombo_SelectedIndexChanged(
ByVal
sender
As
Object
,
ByVal
e
As
RadComboBoxSelectedIndexChangedEventArgs)
If
RecipientsGrid.MasterTableView.IsItemInserted <>
False
Then
Dim
insertItem
As
GridEditFormInsertItem =
DirectCast
(TryCast(sender, DropDownList).NamingContainer, GridEditFormInsertItem)
Dim
ddlList
As
DropDownList =
DirectCast
(insertItem.FindControl(
"Dropdownlist2"
), DropDownList)
Else
Dim
CountryCombo
As
RadComboBox =
DirectCast
(sender, RadComboBox)
Dim
editedItem
As
GridEditableItem =
DirectCast
(TryCast(sender, RadComboBox).NamingContainer, GridEditableItem)
Dim
ProvinceCombo
As
RadComboBox =
DirectCast
(editedItem.FindControl(
"ProvinceCombo"
), RadComboBox)
Using context
As
New
DataEntities
With
ProvinceCombo
.DataValueField =
"ProvinceId"
.DataTextField =
"NameEnglish"
.DataSource = context.Provinces.Where(
Function
(x) x.CountryId = e.Value).OrderBy(
Function
(x) x.NameEnglish).ToList
End
With
ProvinceCombo.Width = Unit.Pixel(320)
ProvinceCombo.DataBind()
End
Using
End
If
End
Sub
<%--<
telerik:GridButtonColumn
ButtonType
=
"LinkButton"
Text="<img
src
=
'../App_Themes/default/images/genDoc.gif'
border
=
'0'
title
=
'Generate Document'
/>" UniqueName="GD" CommandName="G"></
telerik:GridButtonColumn
>--%>
<
telerik:GridTemplateColumn
HeaderText
=
""
UniqueName
=
"Image"
>
<
ItemTemplate
>
<
asp:ImageButton
ID
=
"GD"
runat
=
"server"
ImageUrl
=
"~/App_Themes/Default/images/genDoc.gif"
CommandName
=
"1"
OnClick
=
"ImageButton1_Click"
>
</
asp:ImageButton
>
</
ItemTemplate
><
br
></
telerik:GridTemplateColumn
>