private void CreateDynamicGridView(DataSet dsBillingDetails) { // Create a GridView int rowPosition = 0; for (int index = 1; index < dsBillingDetails.Tables.Count; index++) { DataGrid grdCharges = new DataGrid(); grdCharges.ItemsSource = dsBillingDetails.Tables[index].DefaultView; grdCharges.AutoGenerateColumns = false; Style grdHeaderStyle = this.FindResource("grdHeaderStyle") as Style; <big>//Adding Button Dynamically</big> DataGridTemplateColumn dgtcDel = new DataGridTemplateColumn(); FrameworkElementFactory fefDelButton = new FrameworkElementFactory(typeof(Button)); BitmapImage biDeleteIcon = new BitmapImage(); fefDelButton.SetBinding(Button.TagProperty, new Binding("LineItemID")); fefDelButton.AddHandler(FrameworkElement.MouseLeftButtonDownEvent, new MouseButtonEventHandler(btnDelete_Click), true); DataTemplate buttonTemplate = new DataTemplate(); dgtcDel.Header = "D"; dgtcDel.HeaderStyle = grdHeaderStyle; buttonTemplate.VisualTree = fefDelButton; dgtcDel.CellTemplate = buttonTemplate; biDeleteIcon.BeginInit(); biDeleteIcon.UriSource = new Uri(@"..\Images\Deleteicon.png", UriKind.Relative); biDeleteIcon.EndInit(); fefDelButton.SetValue(Image.SourceProperty, biDeleteIcon); fefDelButton.SetValue(Image.VisibilityProperty, Visibility.Visible); grdCharges.Columns.Add(dgtcDel); //create a template column for text box DataGridTemplateColumn dgtTextBox = new DataGridTemplateColumn(); //set title of column dgtTextBox.Header = "Line Item Units"; dgtTextBox.Width = 150; DataTemplate dtTextBox = new DataTemplate(); FrameworkElementFactory fefTextBox = new FrameworkElementFactory(typeof(System.Windows.Controls.TextBox)); fefTextBox.AddHandler(TextBox.TextChangedEvent, new TextChangedEventHandler(txtUnitCount_Changed)); dtTextBox.VisualTree = fefTextBox; dgtTextBox.CellTemplate = dtTextBox; grdCharges.Columns.Add(dgtTextBox); grdBillingDetails.Children.Add(grdCharges); // grdCharges.Style = grdHeaderStyle; Grid.SetRow(grdCharges, rowPosition + 1); rowPosition = rowPosition + 2; } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)