or
<asp:Button ID="btnUpdate" runat="server" Text='<%# IIf((TypeOf(Container) is GridEditFormInsertItem), "Insert", "Update") %>'
CommandName='<%# IIf((TypeOf(Container) is GridEditFormInsertItem), "PerformInsert", "Update") %>'>
</asp:Button>

private void BuildAttachments() { List<String> photoPaths = new List<String>(); List<String> docPaths = new List<String>(); List<ServiceNote> notes = new List<ServiceNote>(); Telerik.Web.UI.RadPanelBar panelBar = new RadPanelBar(); panelBar.ID = ticketId.ToString(); panelBar.ExpandMode = PanelBarExpandMode.SingleExpandedItem; panelBar.Width = 960; int y = 0; foreach (ServiceTicketTask task in ThisTicket.ServiceTicketTasks) { RadPanelItem panelItem = new RadPanelItem(); panelItem.Text = task.ServiceItem.Name; panelBar.Items.Add(panelItem); panelItem.Enabled = false; foreach (ServiceNote note in task.ServiceNotes.Where(n => n.HasPictures).OrderBy(n => n.CreateDate)) { RadPanelItem panelNoteItem = new RadPanelItem(); panelNoteItem.Text = DateTimeFunctions.UtcToMyTime(note.CreateDate, _loggedInUser.TimeZoneId).ToString(); panelItem.Items.Add(panelNoteItem); RadPanelItem panelImageItem = new RadPanelItem(); panelImageItem.Text = Labeling.Photos; panelImageItem.Expanded = true; panelNoteItem.Items.Add(panelImageItem); RadPanelItem panelDocsItem = new RadPanelItem(); panelDocsItem.Text = Labeling.Documents; panelDocsItem.Expanded = true; panelNoteItem.Items.Add(panelDocsItem); String photoPath = Storage.GetGalleryPath(ServiceTicket.MakeServiceTicketName(note.ServiceTicketTask.ServiceTicket.ServiceProvider.Abbrev, note.ServiceTicketTask.ServiceTicket.TicketName), note.ServiceTicketTask.CatalogItem.Name, note.CreateDate, Storage.DocumentGroups.Photos); if (photoPath != null) { panelItem.Enabled = true; String galleryID = String.Format("galleryServiceTickets_{0}", y); GalleryBrowser galleryServiceTickets = new GalleryBrowser(); galleryServiceTickets.ID = galleryID; galleryServiceTickets.Visible = true; galleryServiceTickets.Width = 940; galleryServiceTickets.Height = 50; galleryServiceTickets.AllowEdit = false; galleryServiceTickets.AllowPostComment = false; galleryServiceTickets.AllowShowComment = false; galleryServiceTickets.Layout = "Gridshow"; galleryServiceTickets.LogonUserName = _loggedInUser.FullName; galleryServiceTickets.GalleryFolder = photoPath; galleryServiceTickets.ToolTip = String.Format("{0} - {1}", note.ServiceTicketTask.ServiceItem.Name, note.CreateDate); galleryServiceTickets.DataBind(); TemplateItem template = new TemplateItem(galleryServiceTickets); template.InstantiateIn(panelImageItem); } String docPath = Storage.GetGalleryPath(ServiceTicket.MakeServiceTicketName(note.ServiceTicketTask.ServiceTicket.ServiceProvider.Abbrev, note.ServiceTicketTask.ServiceTicket.TicketName), note.ServiceTicketTask.CatalogItem.Name, note.CreateDate, Storage.DocumentGroups.Docs); if (docPaths != null) { panelItem.Enabled = true; List<String> filePaths = new List<String>(); filePaths = Storage.GetFileCount(docPath); HtmlGenericControl divInner = new HtmlGenericControl("div"); divInner.ID = String.Format("DocDiv_{0}", y); divInner.Attributes.Add("style", "margin:0;padding:2px 0 0 6px;width:1000px;float:left;text-align:left"); Int32 i = 0; foreach (String file in filePaths) { String newFile = file.Replace(HttpContext.Current.Server.MapPath(docPath), "").Replace("\\", ""); String newFilePath = docPath + "/" + newFile; HyperLink hlnkImage = new HyperLink(); hlnkImage.ID = String.Format("hlnkImage_{0}_{1}", y, i); hlnkImage.ImageUrl = Utils.GetIcon(newFile); hlnkImage.SkinID = "hlnkImage"; hlnkImage.NavigateUrl = newFilePath; hlnkImage.Target = "_blank"; hlnkImage.ToolTip = newFile; divInner.Controls.Add(hlnkImage); TemplateItem template = new TemplateItem(divInner); template.InstantiateIn(panelDocsItem); i = i + 1; } } y++; } } HtmlGenericControl scrollDiv = new HtmlGenericControl("div"); if (notes.Count() > 15) scrollDiv.Attributes.Add("style", "float:left;overflow:scroll;overflow-y:hidden; width:940px;"); else scrollDiv.Attributes.Add("style", "float:left; width:940px;"); scrollDiv.Controls.Add(panelBar); plAttachments.Controls.Add(scrollDiv); }
public class TemplateItem : ITemplate { Control control; #region ITemplate Members public void InstantiateIn(Control container) { container.Controls.Add(control); } #endregion public TemplateItem(Control ctrl) { control = ctrl; } }

| Advanced Services Ace | Continential World Corp | Digital Corporate | Executive Imagination | |||
| Bulgaria | Sofia | Microvan | $93446.4 | $102791.0 | $93446.4 | $93446.4 |
| Minivan | $126152.6 | $130825.0 | $93446.4 | $88774.1 | ||
| Pickup | $88774.1 | $70084.8 | $74757.1 | $116808.0 | ||
| Truck | $121480.3 | $112135.7 | $107463.4 | $56067.8 | ||
| Van | $98118.7 | $102791.0 | $121480.3 | $121480.3 | ||
| Sofia Total | $527972.2 | $518627.5 | $490593.6 | $476576.6 | ||
| Bulgaria Total | $527972.2 | $518627.5 | $490593.6 | $476576.6 | ||
| France | Paris | Microvan | $146225.8 | $191743.7 | $172310.4 | $122042.0 |
| Minivan | $107790.7 | $119709.6 | $124460.0 | $94402.4 | ||
| Pickup | $127224.0 | $167991.5 | $134738.4 | $150976.2 | ||
| Grand Total | $2786144.2 | $2816203.7 | $2784985.4 | $2668372.7 | ||
<telerik:RadGrid ID="gvList" runat="server" PageSize="20" AllowSorting="True" AllowPaging="True" ShowGroupPanel="True" AutoGenerateColumns="False" GridLines="None"> <PagerStyle Mode="NumericPages"></PagerStyle> <MasterTableView Width="100%" GroupLoadMode="Server" TableLayout="Fixed"> <GroupByExpressions> <telerik:GridGroupByExpression> <SelectFields> <telerik:GridGroupByField FieldAlias="CAMPIONATO" FieldName="C01_B04_CODE_FK"></telerik:GridGroupByField> <telerik:GridGroupByField FieldAlias="GARA" FieldName="C01_GARA_PK"></telerik:GridGroupByField> </SelectFields> <GroupByFields> <telerik:GridGroupByField FieldName="C01_B04_CODE_FK"></telerik:GridGroupByField> </GroupByFields> </telerik:GridGroupByExpression> </GroupByExpressions>GridGroupByExpression expression = new GridGroupByExpression();
GridGroupByField existing = expression.SelectFields.FindByName("C01_GARA_PK"); GridGroupByField field = new GridGroupByField(); field.FieldName = "C01_B04_CODE_FK"; field.FieldAlias = "CAMPIONATO"; GridGroupByField field = new GridGroupByField(); field.FieldName = "C01_GARA_PK"; field.FieldAlias = "GARA"; expression.SelectFields.Add(field); gvList.MasterTableView.GroupByExpressions.Add(expression); gvList.Rebind();