I have a grid with Auto Generate Columns at run time and Multi Row Selection:
<telerik:RadGrid ID="RadGrid1" runat="server" AllowMultiRowSelection="True"
oncolumncreated="RadGrid1_ColumnCreated">
<ClientSettings>
<Selecting AllowRowSelect="True" />
</ClientSettings>
<MasterTableView DataKeyNames="InventarioID" GroupLoadMode="Client">
<Columns>
<telerik:GridClientSelectColumn UniqueName="SelectColumn"/>
</Columns>
</MasterTableView>
</telerik:RadGrid>
C#:
protected void Page_Load(object sender, EventArgs e)
{
string _anno = StringHelpers.Right(DateTime.Today.Year.ToString(), 2);
RadGrid1.DataSource = new DataClaseDataContext().MyTable.Select(s => new {....my fields...});
}
protected void RadGrid1_ColumnCreated(object sender, GridColumnCreatedEventArgs e)
{
if (e.Column is GridBoundColumn)
{
((GridBoundColumn)e.Column).DataFormatString = "<nobr>{0}</nobr>";
}
}
This works well and auto adjusts the column width to content, but this functionality is lost when grouped.
<telerik:RadGrid ID="RadGrid1" runat="server" AllowMultiRowSelection="True"
oncolumncreated="RadGrid1_ColumnCreated">
<ClientSettings>
<Selecting AllowRowSelect="True" />
</ClientSettings>
<MasterTableView DataKeyNames="InventarioID" GroupLoadMode="Client">
<Columns>
<telerik:GridClientSelectColumn UniqueName="SelectColumn"/>
</Columns>
<GroupByExpressions>
<telerik:GridGroupByExpression>
<SelectFields>
<telerik:GridGroupByField FieldName="Area"/>
</SelectFields>
<SelectFields>
<telerik:GridGroupByField FieldName="AreaDescription"
HeaderText=" " HeaderValueSeparator="" />
</SelectFields>
<GroupByFields>
<telerik:GridGroupByField FieldName="Area"/>
</GroupByFields>
</telerik:GridGroupByExpression>
</GroupByExpressions>
</MasterTableView>
</telerik:RadGrid>
Any help?


<telerik:RadComboBox runat="server" ID="RadComboBox1" AutoPostBack="false" AccessKey="V" OnClientFocus="ComboFocus" OnClientDropDownOpened="DropDownOpened"> <ItemTemplate> <telerik:RadTreeView ID="RadTreeView1" runat="server" CausesValidation="false"> <Nodes> <telerik:RadTreeNode Text="Node 1" Value="1" /> <telerik:RadTreeNode Text="Node 2" Value="2" Selected="true" /> <telerik:RadTreeNode Text="Node 3" Value="3" /> </Nodes> </telerik:RadTreeView> </ItemTemplate> <Items> <telerik:RadComboBoxItem/> </Items> </telerik:RadComboBox>| Item Name | Factory 1 | Factory 2 | Factory 3 | Factory 4 | |||
| Item 1 | 12 | 13 | 14 | 15 | |||
| Item 2 | 22 | 23 | 24 | 25 | |||
| Item 3 | 32 | 33 | 34 | 35 |
| Item Name | Factory 1 | Factory 2 | Factory 3 | Factory 4 | Factory 5 | ||||
| Item 1 | 12 | 13 | 14 | 15 | 16 | ||||
| Item 2 | 22 | 23 | 24 | 25 | 26 | ||||
| Item 3 | 32 | 33 | 34 | 35 | 36 |
public class ItemFactoryDTO { [DataMember] public long ItemId { get; set; } [DataMember] public long ItemName { get; set; } [DataMember] public ICollection<FactoryQuantityDTO> factoryQuantityDTOs { get; set; } }public class FactoryQuantityDTO { [DataMember] public string FactoryName { get; set; } [DataMember] public int? FactoryQuantity { get; set; } }ServiceNamespace.Service1.GetData(param1, param2, updateGrid);
//callback
function updateGrid(result) {
var tableView = $find("<%= Grid1.ClientID %>").get_masterTableView();
tableView.set_dataSource(result);
tableView.dataBind();
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="BCKD9.ascx.cs" Inherits="BCKD_Web.Control.BCKD9" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> var maNV = null; function rowSelected(sender, args) { var MasterTableView = sender.get_masterTableView(); var row = MasterTableView.get_selectedItems()[0]; maNV = MasterTableView.getCellByColumnUniqueName(row, "MA_DV"); var strMA_CTO = maNV.innerHTML; alert(strMA_CTO); } </script></telerik:RadCodeBlock><div style="width: 100%; height: 100%"> <table style="width: 100%; height: 100%"> <tr style="width: 100%; height: 100%"> <td style="width:100%; height: 100%"> <telerik:RadGrid ID="rgdBieu8" runat="server" GridLines="None" AutoGenerateColumns="False" ShowFooter="true" AllowMultiRowSelection="True" Skin="Windows7" onitemevent="rgdBieu8_ItemEvent"> <MasterTableView ClientDataKeyNames="MA_DV" Width="100%"> <Columns> <telerik:GridBoundColumn HeaderText="Mã đơn vị" DataField="MA_DV" UniqueName="MA_DV" HeaderStyle-Width="10%"> <HeaderStyle Width="10%" HorizontalAlign="Center" Font-Bold="True"></HeaderStyle> <ItemStyle HorizontalAlign="Center" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Tên đơn vị" DataField="TEN_DV" UniqueName="TEN_DV" FooterText="Tổng" HeaderStyle-Width="20%"> <HeaderStyle Width="20%" HorizontalAlign="Center" Font-Bold="True"></HeaderStyle> <ItemStyle HorizontalAlign="Left" Font-Underline="true"/> <FooterStyle HorizontalAlign="Left" Font-Bold="true"/> </telerik:GridBoundColumn> </Columns> </MasterTableView> <ClientSettings AllowColumnsReorder="false" ReorderColumnsOnClient="true" EnableRowHoverStyle="true"> <Selecting AllowRowSelect="true" /> <Scrolling AllowScroll="true" UseStaticHeaders="true" /> <ClientEvents OnRowSelected="rowSelected" /> </ClientSettings> </telerik:RadGrid> </td> </tr> </table></div>