Hi Telerik team;
I am trying to achive the following thing in my radgrid. I have a mastergrid and a detail table in my aspx. In the detail table I need to set the rowspan of the first column such a way that there is only 1 cell in that column with text. I have enclosed the jpg that I am trying to achieve. I tried using this code in the onItemDataBound event: But I am not getting the desired result. I have also enclosed my actual result. Could you please help?
Thanks in advance,
Meera
//Aspx
<
telerik:RadGrid ID="viewGrid" runat="server" ActiveItemStyle-BorderColor="ActiveBorder"
ShowStatusBar="True" AllowSorting="true" ItemStyle-BorderWidth="1px" OnSortCommand="viewGrid_Sort"
MasterTableView-ExpandCollapseColumn-CollapseImageUrl="~/App_Themes/Images/Content/collapse.gif"
MasterTableView-ExpandCollapseColumn-ItemStyle-CssClass="textalignleft"
MasterTableView-ExpandCollapseColumn-ButtonType="ImageButton"
MasterTableView-ExpandCollapseColumn-ExpandImageUrl="~/App_Themes/Images/Content/expand.gif"
OnUpdateCommand="viewGrid_UpdateCommand" Width="900px"
MasterTableView-ExpandCollapseColumn-ItemStyle-HorizontalAlign="Center" OnItemCreated="viewGrid_ItemCreated"
MasterTableView-ExpandCollapseColumn-ItemStyle-VerticalAlign="Middle" OnItemDataBound="viewGrid_DataBound"
MasterTableView-ExpandCollapseColumn-ItemStyle-Width="2%" OnDetailTableDataBind="viewGrid_DetailTableDataBind"
OnNeedDataSource="viewGrid_NeedDataSource" OnPreRender="viewGrid_PreRender"
OnInsertCommand="viewGrid_InsertCommand" AllowMultiRowEdit="false">
<MasterTableView AutoGenerateColumns="False" HierarchyLoadMode="ServerBind"
DataKeyNames="DomainName,ParentDomainValue" Name="Master" >
<DetailTables>
<telerik:GridTableView DataKeyNames="DomainName,ParentDomainName,ParentDomainValue,DomainValue" Name="DomainLabel"
AutoGenerateColumns="false" BorderStyle="None" ItemStyle-BorderWidth="0px" AllowSorting="false"
ShowHeader="false" Width="900px"
CommandItemDisplay="Top" EditMode="InPlace">
<ParentTableRelation>
<telerik:GridRelationFields DetailKeyField="DomainName" MasterKeyField="DomainName" />
</ParentTableRelation>
<CommandItemSettings AddNewRecordText="<%$ Resources:DomainAdmin, locAddDomainValue %>" />
<Columns>
<telerik:GridTemplateColumn UniqueName="DomainLabelcol" >
<ItemTemplate>
<asp:Label ID="plSubject" runat="server" Text="Domain Values" />
</ItemTemplate>
<ItemStyle Width="150px" Wrap="false" HorizontalAlign="Left" CssClass="panelstyle"
ForeColor="#62267f" Font-Bold="true"/>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn UniqueName="DomainValue" DataType="System.String"
DataField="DomainValue" ColumnEditorID="GridTextBoxColumnEditor1"
ItemStyle-HorizontalAlign="Left"
ItemStyle-Wrap="false"
ItemStyle-Width="300px">
</telerik:GridBoundColumn>
<telerik:GridCheckBoxColumn DataField="ActiveFlag" UniqueName="ActiveFlag"
DataType="System.Boolean"
ItemStyle-HorizontalAlign="Left"
ItemStyle-Wrap="false"
ItemStyle-Width="20px">
</telerik:GridCheckBoxColumn>
<telerik:GridTemplateColumn UniqueName="DomainLabelcol" >
<ItemTemplate>
<asp:Label ID="lblActive" Text="Active" runat="server" CssClass="ActiveLabelStyle" />
</ItemTemplate>
<ItemStyle Width="130px" Wrap="false" HorizontalAlign="Left" />
</telerik:GridTemplateColumn>
<telerik:GridEditCommandColumn ButtonType="ImageButton"
EditImageUrl="../App_Themes/Images/Buttons/domain_pur_edit.gif"
InsertImageUrl="../App_Themes/Images/Buttons/domain_gr_insert.gif"
CancelImageUrl="../App_Themes/Images/Buttons/domain_gr_cancel.gif"
UpdateImageUrl="../App_Themes/Images/Buttons/domain_gr_update.gif"
UniqueName="EditDomainValueColumn"
ItemStyle-HorizontalAlign="Right"
ItemStyle-Wrap="false"
ItemStyle-Width="200px">
</telerik:GridEditCommandColumn>
<telerik:GridCheckBoxColumn DataField="EditableFlag" UniqueName="EditFlag"
DataType="System.Boolean" Visible="false" >
</telerik:GridCheckBoxColumn>
</Columns>
</telerik:GridTableView>
</DetailTables>
<Columns>
<telerik:GridBoundColumn UniqueName="DomainName" DataType="System.String" HeaderText="<%$ Resources:DomainAdmin, locDomainName %>"
DataField="DomainName" SortExpression="DomainName"
ItemStyle-HorizontalAlign="Left"
HeaderStyle-Width="200px" HeaderStyle-HorizontalAlign="Left" ItemStyle-Wrap="false"
HeaderStyle-Font-Bold="true" HeaderStyle-ForeColor="#62267f" ItemStyle-Width="200px"
SortAscImageUrl="~/App_Themes/Images/Buttons/arrow_sort_up.png"
SortDescImageUrl="~/App_Themes/Images/Buttons/arrow_sort_down.png"
>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="ParentDomainName" DataType="System.String"
HeaderText="<%$ Resources:DomainAdmin, locParentDomainName %>" DataField="ParentDomainName"
SortExpression="ParentDomainName"
ItemStyle-HorizontalAlign="Left"
HeaderStyle-Width="300px" HeaderStyle-HorizontalAlign="Left" ItemStyle-Wrap="false"
HeaderStyle-Font-Bold="true" HeaderStyle-ForeColor="#62267f" ItemStyle-Width="300px"
SortAscImageUrl="~/App_Themes/Images/Buttons/arrow_sort_up.png"
SortDescImageUrl="~/App_Themes/Images/Buttons/arrow_sort_down.png">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="ParentDomainValue" DataType="System.String" HeaderText="<%$ Resources:DomainAdmin, locParentDomainValue %>"
DataField="ParentDomainValue" SortExpression="ParentDomainValue"
ItemStyle-HorizontalAlign="Left"
HeaderStyle-Width="300px" HeaderStyle-HorizontalAlign="Left" ItemStyle-Wrap="false"
HeaderStyle-Font-Bold="true" HeaderStyle-ForeColor="#62267f" ItemStyle-Width="300px"
SortAscImageUrl="~/App_Themes/Images/Buttons/arrow_sort_up.png"
SortDescImageUrl="~/App_Themes/Images/Buttons/arrow_sort_down.png">
</telerik:GridBoundColumn>
</Columns>
<AlternatingItemStyle Wrap="false"/>
<ItemStyle Wrap="false"/>
<RowIndicatorColumn Visible="False">
<HeaderStyle Width="20px" />
</RowIndicatorColumn>
<ExpandCollapseColumn ButtonType="ImageButton">
</ExpandCollapseColumn>
<EditFormSettings>
<PopUpSettings ScrollBars="None" />
</EditFormSettings>
</MasterTableView>
</telerik:RadGrid>
protected
void viewGrid_DataBound(object source, Telerik.Web.UI.GridItemEventArgs e)
{
if (!(e.Item is GridDataInsertItem))
{
if ((e.Item is GridDataItem) && (e.Item.OwnerTableView.Name == "DomainLabel"))
{
//Merge rows
GridTableView tv = (GridTableView)e.Item.OwnerTableView;
for (int rowIndex = tv.Items.Count - 2; rowIndex >= 0; rowIndex--)
{
GridDataItem row = tv.Items[rowIndex];
GridDataItem previousRow = tv.Items[rowIndex + 1];
if (row["DomainLabelcol"].Text == previousRow["DomainLabelcol"].Text)
{
row[
"DomainLabelcol"].RowSpan = 2;
previousRow[
"DomainLabelcol"].Visible = false;
previousRow[
"DomainLabelcol"].Text = " ";
}
}
}