This is a migrated thread and some comments may be shown as answers.

RadGrid Grouping GridTemplateColumn

2 Answers 328 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Mattia
Top achievements
Rank 2
Mattia asked on 20 Mar 2014, 01:49 PM
Hi
this is my grid

<telerik:RadGrid ID="PriceListRadGrid" runat="server" OnNeedDataSource="PriceListRadGrid_NeedDataSource"
            EnableEmbeddedSkins="False" AllowPaging="True" OnItemCommand="PriceListRadGrid_ItemCommand"
            AllowSorting="True" OnItemCreated="PriceListRadGrid_ItemCreated" OnItemInserted="PriceListRadGrid_ItemInserted"
            OnPreRender="PriceListRadGrid_PreRender" OnItemDataBound="PriceListRadGrid_ItemDataBound"
            AllowFilteringByColumn="True" CellSpacing="0" Culture="it-IT" GridLines="None" ShowGroupPanel="True"
            Skin="MySkin" meta:resourcekey="PriceListRadGridResource1">
            <PagerStyle Mode="NextPrevAndNumeric" />
            <MasterTableView AutoGenerateColumns="False" EditMode="InPlace" DataKeyNames="Id"
                CommandItemDisplay="Top">
                <CommandItemSettings AddNewRecordText="" RefreshText="" />
                <Columns>
                    <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"
                        HeaderStyle-Width="70px" UpdateImageUrl="App_Themes/Default/Grid/Update.gif"
                        EditImageUrl="App_Themes/Default/Grid/Edit.gif" CancelImageUrl="App_Themes/Default/Grid/Cancel.gif"
                        InsertImageUrl="App_Themes/Default/Grid/Update.gif" meta:resourcekey="GridEditCommandColumnResource1">
                        <HeaderStyle Width="70px"></HeaderStyle>
                    </telerik:GridEditCommandColumn>
 <telerik:GridBoundColumn DataField="Description" HeaderText="Description" SortExpression="Description"
                        AutoPostBackOnFilter="True" CurrentFilterFunction="Contains" ShowFilterIcon="False"
                        MaxLength="150" UniqueName="Description" meta:resourcekey="GridBoundColumnResource4"
                        GroupByExpression="Description Group By Description">
                    </telerik:GridBoundColumn>
  <telerik:GridTemplateColumn UniqueName="UnitOfMeasurementId"
                                                HeaderText="Currency"          
                                                DataField="UnitOfMeasurementId"
                                                SortExpression="UnitOfMeasurement.CodeAndDescription"                                               
                                                meta:resourcekey="GridTemplateColumnResource2">
 
                        <FilterTemplate>
                                <telerik:RadComboBox ID="UnitComboFilter"
                                                    runat="server"
                                                    DataTextField="Code"
                                                    DataValueField="Id"
                                                    AppendDataBoundItems="true"
                                                    SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("UnitOfMeasurementId").CurrentFilterValue %>'
                                                    OnClientLoad="ComboAlternativeRowColor"
                                                    OnClientSelectedIndexChanged="UnitComboFilter_SelectedIndexChanged"
                                                    Width="80px">                                                   
                                </telerik:RadComboBox>
                       
                            <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
                                <script type="text/javascript">
                                    function UnitComboFilter_SelectedIndexChanged(sender, args) {
                                        var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
                                        tableView.filter("UnitOfMeasurementId", args.get_item().get_value(), "EqualTo");
                                    
                                </script>
                            </telerik:RadScriptBlock>
                        </FilterTemplate>
 
                        <ItemTemplate>
                            <asp:Label runat="server" ID="UnitOfMeasurementCodeLbl" Text='<%# DataBinder.Eval(Container.DataItem,"UnitOfMeasurement.CodeAndDescription") %>'
                                meta:resourcekey="UnitOfMeasurementCodeLblResource1"></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <telerik:RadComboBox runat="server" DataTextField="CodeAndDescription" DataValueField="Id"
                                OnClientLoad="ComboAlternativeRowColor" ID="UnitOfMeasurementCombo" Width="200px"
                                Culture="it-IT" meta:resourcekey="UnitOfMeasurementComboResource1">
                            </telerik:RadComboBox>
                        </EditItemTemplate>
                    </telerik:GridTemplateColumn>
 </Columns>
                <EditFormSettings>
                    <EditColumn ButtonType="ImageButton" />
                </EditFormSettings>
            </MasterTableView>           
             <ClientSettings AllowDragToGroup="True">
                <ClientEvents OnRowDblClick="RowDblClick"></ClientEvents>               
            </ClientSettings>
            <GroupingSettings CaseSensitive="False" ShowUnGroupButton="True" />
            <FilterMenu EnableEmbeddedSkins="False">
            </FilterMenu>
            <HeaderContextMenu EnableEmbeddedSkins="False">
            </HeaderContextMenu>
        </telerik:RadGrid>


I have some problem grouping by GridTemplateColumn. When I drag the header on the group panel nothing happens.
Whereas if I drag the other column it works perfectly.

Thanks

2 Answers, 1 is accepted

Sort by
0
Accepted
Princy
Top achievements
Rank 2
answered on 21 Mar 2014, 03:46 AM
Hi Stefania,

You have to set the GroupByExpression to enable grouping for the TemplateColumn .

ASPX:
<telerik:GridTemplateColumn  DataField="UnitOfMeasurementId" GroupByExpression="UnitOfMeasurementId group by UnitOfMeasurementId">

Thanks,
Princy
0
Mattia
Top achievements
Rank 2
answered on 21 Mar 2014, 08:52 AM
Thanks Princy,
it works perfectly.
Is it possible to write something like this?

<telerik:GridTemplateColumn  DataField="UnitOfMeasurement.Code" GroupByExpression="UnitOfMeasurement.Code group by UnitOfMeasurement.Code">

This is my object

public class ResourceEntity:BaseEntity
    {
        private UnitOfMeasurementEntity m_UnitOfMeasurement;
        public ResourceEntity()
        {
        }
 
        /// <summary>
        /// Id unità di misura
        /// </summary>
        public int? UnitOfMeasurementId
        {          
            get
            {
                return m_UnitOfMeasurement == null ? new int?() : m_UnitOfMeasurement.Id;
            }
        }
 
        /// <summary>
        /// Lista unità di misura
        /// </summary>
        public UnitOfMeasurementEntity UnitOfMeasurement
        {
            set
            {
                m_UnitOfMeasurement = value;
                NotifyPropertyChanged("UnitOfMeasurement");
            }
            get
            {
                return m_UnitOfMeasurement;
            }
        }              
    }
BaseEntity contains fields like Id, Code, Description..
UnitOfMeasurementEntity contains Id, Code, Description.. too


thanks
Tags
Grid
Asked by
Mattia
Top achievements
Rank 2
Answers by
Princy
Top achievements
Rank 2
Mattia
Top achievements
Rank 2
Share this question
or