Sep 21, 2010, 9:00 PM
[CLOSED] Extra Check Boxes when adding header to grouped Grid with CheckBoxSelectionMode
See attached image.
Adding header in code behind.
GridPanel definition
Adding header in code behind.
GridPanel definition
<ext:GridPanel runat="server" ID="gridPort" AutoHeight="true" AutoWidth="true">
<Store>
<ext:Store ID="storePort" runat="server" GroupField="Sector" GroupDir="ASC">
<Reader>
<ext:JsonReader>
<Fields>
<ext:RecordField Name="CondorPortfolioId" Type="Int">
</ext:RecordField>
<ext:RecordField Name="Id" Type="Int">
</ext:RecordField>
<ext:RecordField Name="Name" Type="String">
</ext:RecordField>
<ext:RecordField Name="Weight" Type="Float">
<Convert Handler="return value * 100;" />
</ext:RecordField>
<ext:RecordField Name="Sector" Type="String">
</ext:RecordField>
<ext:RecordField Name="Strategy" Type="String">
</ext:RecordField>
<ext:RecordField Name="PortfolioExposureLong" Type="Float" > <Convert Handler="return value * 100;" /></ext:RecordField>
<ext:RecordField Name="PortfolioExposureShort" Type="Float" > <Convert Handler="return value * 100;" /></ext:RecordField>
<ext:RecordField Name="EquityExposureLong" Type="Float" > <Convert Handler="return value * 100;" /></ext:RecordField>
<ext:RecordField Name="EquityExposureShort" Type="Float" > <Convert Handler="return value * 100;" /></ext:RecordField>
<ext:RecordField Name="CreditExposureLong" Type="Float" > <Convert Handler="return value * 100;" /></ext:RecordField>
<ext:RecordField Name="CreditExposureShort" Type="Float" > <Convert Handler="return value * 100;" /></ext:RecordField>
<ext:RecordField Name="OtherExposureLong" Type="Float" > <Convert Handler="return value * 100;" /></ext:RecordField>
<ext:RecordField Name="OtherExposureShort" Type="Float" > <Convert Handler="return value * 100;" /></ext:RecordField>
</Fields>
</ext:JsonReader>
</Reader>
<SortInfo Field="Strategy" Direction="ASC" />
</ext:Store>
</Store>
<ColumnModel>
<Columns>
<ext:Column ColumnID="Sector" DataIndex="Sector" Header="Sector" Width="150">
</ext:Column>
<ext:Column ColumnID="Strategy" DataIndex="Strategy" Header="Strategy" Width="150"
Groupable="false">
</ext:Column>
<ext:GroupingSummaryColumn ColumnID="Name" DataIndex="Name" Header="Name" Width="300"
SummaryType="Count" Groupable="false">
<SummaryRenderer Handler="return (value > 1) ? value + ' Holdings' : value + ' Holding' " />
</ext:GroupingSummaryColumn>
<ext:GroupingSummaryColumn ColumnID="Weight" DataIndex="Weight" Header="Weight (%)"
Align="Center" SummaryType="Sum" Groupable="false" Width="70">
<Renderer Fn="RenderReturnAmount" />
<SummaryRenderer Handler="return Ext.util.Format.round(value,2) + ' %';" />
</ext:GroupingSummaryColumn>
<ext:GroupingSummaryColumn ColumnID="PortfolioExposureLong" DataIndex="PortfolioExposureLong" Header="Long %"
Align="Center" SummaryType="Sum" Groupable="false" Width="65">
<Renderer Fn="RenderReturnAmount" />
<SummaryRenderer Handler="return Ext.util.Format.round(value,2) + ' %';" />
</ext:GroupingSummaryColumn>
<ext:GroupingSummaryColumn ColumnID="PortfolioExposureShort" DataIndex="PortfolioExposureShort" Header="Short %"
Align="Center" SummaryType="Sum" Groupable="false" Width="65">
<Renderer Fn="RenderReturnAmount" />
<SummaryRenderer Handler="return Ext.util.Format.round(value,2) + ' %';" />
</ext:GroupingSummaryColumn>
<ext:GroupingSummaryColumn ColumnID="EquityExposureLong" DataIndex="EquityExposureLong" Header="Long %"
Align="Center" SummaryType="Sum" Groupable="false" Width="65">
<Renderer Fn="RenderReturnAmount" />
<SummaryRenderer Handler="return Ext.util.Format.round(value,2) + ' %';" />
</ext:GroupingSummaryColumn>
<ext:GroupingSummaryColumn ColumnID="EquityExposureShort" DataIndex="EquityExposureShort" Header="Short %"
Align="Center" SummaryType="Sum" Groupable="false" Width="65">
<Renderer Fn="RenderReturnAmount" />
<SummaryRenderer Handler="return Ext.util.Format.round(value,2) + ' %';" />
</ext:GroupingSummaryColumn>
<ext:GroupingSummaryColumn ColumnID="CreditExposureLong" DataIndex="CreditExposureLong" Header="Long %"
Align="Center" SummaryType="Sum" Groupable="false" Width="65">
<Renderer Fn="RenderReturnAmount" />
<SummaryRenderer Handler="return Ext.util.Format.round(value,2) + ' %';" />
</ext:GroupingSummaryColumn>
<ext:GroupingSummaryColumn ColumnID="CreditExposureShort" DataIndex="CreditExposureShort" Header="Short %"
Align="Center" SummaryType="Sum" Groupable="false" Width="65">
<Renderer Fn="RenderReturnAmount" />
<SummaryRenderer Handler="return Ext.util.Format.round(value,2) + ' %';" />
</ext:GroupingSummaryColumn>
<ext:GroupingSummaryColumn ColumnID="OtherExposureLong" DataIndex="OtherExposureLong" Header="Long %"
Align="Center" SummaryType="Sum" Groupable="false" Width="65">
<Renderer Fn="RenderReturnAmount" />
<SummaryRenderer Handler="return Ext.util.Format.round(value,2) + ' %';" />
</ext:GroupingSummaryColumn>
<ext:GroupingSummaryColumn ColumnID="OtherExposureShort" DataIndex="OtherExposureShort" Header="Short %"
Align="Center" SummaryType="Sum" Groupable="false" Width="65">
<Renderer Fn="RenderReturnAmount" />
<SummaryRenderer Handler="return Ext.util.Format.round(value,2) + ' %';" />
</ext:GroupingSummaryColumn>
<ext:CommandColumn Hidden="true">
<GroupCommands>
<ext:CommandFill />
<ext:GridCommand Icon="TableRow" CommandName="SelectGroup">
<ToolTip Title="Select All" Text="Select all rows of the group" />
</ext:GridCommand>
</GroupCommands>
</ext:CommandColumn>
</Columns>
</ColumnModel>
<LoadMask ShowMask="true" />
<SaveMask ShowMask="true" />
<Listeners>
<GroupCommand Handler="this.getSelectionModel().selectRecords(records, true); return; " />
</Listeners>
<View>
<ext:GroupingView ID="GroupingView1" runat="server" GroupTextTpl="{gvalue}" EmptyText="There are currently zero holdings in this portfolio."
EnableNoGroups="True">
</ext:GroupingView>
</View>
<Plugins>
<ext:GroupingSummary ID="GroupingSummary1" runat="server">
</ext:GroupingSummary>
<ext:GridFilters ID="GridFilters1" runat="server">
<Filters>
<ext:StringFilter DataIndex="Name" />
</Filters>
</ext:GridFilters>
</Plugins>
<SelectionModel>
<ext:CheckboxSelectionModel ID="CheckboxSelectionModel1" runat="server" RowSpan="1"
CheckOnly="true">
<Listeners>
<RowSelect Handler="UpdateSelectedIds(record.data.Id,true);" />
<RowDeselect Handler="UpdateSelectedIds(record.data.Id,false);" />
</Listeners>
</ext:CheckboxSelectionModel>
</SelectionModel>
</ext:GridPanel>
Code Behind that is adding header //add group headers
var view = this.gridPort.View[0];
var headerRow = new HeaderGroupRow();
headerRow.Columns.Add(new HeaderGroupColumn
{
Header = "",
Align = Alignment.Center,
ColSpan = 5,
});
headerRow.Columns.Add(new HeaderGroupColumn
{
Header = "Total",
Align = Alignment.Center,
ColSpan = 2
});
headerRow.Columns.Add(new HeaderGroupColumn
{
Header = "Equity",
Align = Alignment.Center,
ColSpan = 2
});
headerRow.Columns.Add(new HeaderGroupColumn
{
Header = "Credit",
Align = Alignment.Center,
ColSpan = 2
});
headerRow.Columns.Add(new HeaderGroupColumn
{
Header = "Other",
Align = Alignment.Center,
ColSpan = 2
});
view.HeaderGroupRows.Add(headerRow);
Last edited by Daniil; Sep 23, 2010 at 7:18 AM.
Reason: [CLOSED]