/// <summary> /// Format the Order Items grid. /// </summary> /// <param name="dt"></param> private void FormatOrderItemsGrid(OrderDetailsDS.OrderDetailsDataTable dt) { if (_gridStyleItem == null) { _gridStyleItem = new DataGridTableStyle(); this.grdOrderItems.TableStyles.Add(_gridStyleItem); this.grdOrderItems.TableStyles[0].MappingName = dt.TableName; //this.Width = 220; //this.grdOrderItems.Width = 220; //Order No column DataGridCustomTextBoxColumn colQuantity = new DataGridCustomTextBoxColumn(); colQuantity.Owner = this.grdOrderItems; colQuantity.HeaderText = "Qty"; colQuantity.MappingName = "Qty"; colQuantity.Width = ((this.grdOrderItems.Width * 10) / 100); colQuantity.Alignment = HorizontalAlignment.Center; //Order Item Column DataGridCustomTextBoxColumn colManPartNo = new DataGridCustomTextBoxColumn(); colManPartNo.Owner = this.grdOrderItems; colManPartNo.HeaderText = "Item No"; colManPartNo.MappingName = "itemNo"; colManPartNo.Width = ((this.grdOrderItems.Width * 20) / 100); colManPartNo.Alignment = HorizontalAlignment.Left; // Unfortunately the Description column is not in OrderDetails table //Order Item Description DataGridCustomTextBoxColumn colDescription = new DataGridCustomTextBoxColumn(); colDescription.Owner = this.grdOrderItems; colDescription.HeaderText = "Description"; colDescription.MappingName = "Description"; colDescription.Width = ((this.grdOrderItems.Width * 50) / 100); colDescription.Alignment = HorizontalAlignment.Left; //Order Item Price DataGridCustomTextBoxColumn colPrice = new DataGridCustomTextBoxColumn(); colPrice.Owner = this.grdOrderItems; colPrice.HeaderText = "Price"; colPrice.MappingName = "Price"; colPrice.Width = ((this.grdOrderItems.Width * 24) / 100); colPrice.Alignment = HorizontalAlignment.Right; // Setup table mapping name //Order Item Total Price DataGridCustomTextBoxColumn colTotalPrice = new DataGridCustomTextBoxColumn(); colPrice.Owner = this.grdOrderItems; colPrice.HeaderText = "Total"; colPrice.MappingName = "TotalPrice"; colPrice.Width = ((this.grdOrderItems.Width * 24) / 100); colPrice.Alignment = HorizontalAlignment.Right; // Setup table mapping name this.grdOrderItems.TableStyles[0].GridColumnStyles.Add(colManPartNo); this.grdOrderItems.TableStyles[0].GridColumnStyles.Add(colDescription); this.grdOrderItems.TableStyles[0].GridColumnStyles.Add(colQuantity); this.grdOrderItems.TableStyles[0].GridColumnStyles.Add(colPrice); this.grdOrderItems.TableStyles[0].GridColumnStyles.Add(colTotalPrice); this.grdOrderItems.RowHeadersVisible = false; } this.grdOrderItems.DataSource = dt; this.grdOrderItems.Refresh(); }The description and TotalPrice I added as virtual columns to my DS. Now I'm getting some weird errors in this code. Do you see what may be wrong or I can not add "virtual" columns to my grid?