Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
770
How to create XamWebGrid programatically in code file
posted

Hi,

 I want to create XamWebGrid dynamically in code behind.I tried to create it but when i give itemsource it shows null.

So please give solution for creating xamwebgrid on code and how to assign itemsource.

Thanks,

Nandu

  • 4666
    posted

    Hi Nandkishor,

    You can try use this sample:

    XAML: 

    <Grid x:Name="GridPanel">
     <Grid.RowDefinitions>
      <RowDefinition Height="*"/>
      <RowDefinition Height="25"/>
     </Grid.RowDefinitions>
     <Button x:Name="BtnCodeGrid" Click="BtnCodeGrid_Click" Grid.Row="1" Content="Generate" />
    </Grid>
        
        
      C#

    private void BtnCodeGrid_Click(object sender, RoutedEventArgs e)
    {
     XamWebGrid grid1 = new XamWebGrid
             {
              HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch,
              VerticalAlignment = System.Windows.VerticalAlignment.Stretch,
              AutoGenerateColumns = true,
              KeyboardNavigation = Infragistics.Silverlight.KeyboardNavigation.AllLayouts
             };
     GridDataGenerator generator = new GridDataGenerator();
     grid1.ItemsSource = generator.Patients;
     this.GridPanel.Children.Add(grid1);
    }

    There si all code for sample GridCodeGenerator class:

    using System;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.ComponentModel;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Ink;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;

    namespace XOBTestApp
    {
        public abstract class BaseViewModel : INotifyPropertyChanged
        {
            public BaseViewModel()
            {
            }

            #region INotifyPropertyChanged Members

            public event PropertyChangedEventHandler PropertyChanged;

            #endregion

            protected void OnPropertyChanged(string propertyName)
            {
                PropertyChangedEventHandler handler = this.PropertyChanged;
                if (handler != null)
                    handler(this, new PropertyChangedEventArgs(propertyName));

            }
        }

        public class PatientAdmittance : BaseViewModel
        {
            public PatientAdmittance()
            {
            }

            private string admittanceId;
            public string AdmittanceId
            {
                get
                {
                    return this.admittanceId;
                }
                set
                {
                    if (this.admittanceId != value)
                    {
                        this.admittanceId = value;
                        this.OnPropertyChanged("AdmittanceId");
                    }
                }
            }

            private string firstName;
            public string FirstName
            {
                get
                {
                    return this.firstName;
                }
                set
                {
                    if (this.firstName != value)
                    {
                        this.firstName = value;
                        this.OnPropertyChanged("FirstName");
                    }
                }
            }

            private string lastName;
            public string LastName
            {
                get
                {
                    return this.lastName;
                }
                set
                {
                    if (this.lastName != value)
                    {
                        this.lastName = value;
                        this.OnPropertyChanged("LastName");
                    }
                }
            }

            private DateTime dateOfBirth;
            public DateTime DOB
            {
                get
                {
                    return this.dateOfBirth;
                }
                set
                {
                    if (this.dateOfBirth != value)
                    {
                        this.dateOfBirth = value;
                        this.OnPropertyChanged("DOB");
                    }
                }
            }

            private string gender;
            public string Gender
            {
                get
                {
                    return this.gender;
                }
                set
                {
                    if (this.gender != value)
                    {
                        this.gender = value;
                        this.OnPropertyChanged("Gender");
                    }
                }
            }

            private DateTime admittanceDate;
            public DateTime AdmittanceDate
            {
                get
                {
                    return this.admittanceDate;
                }
                set
                {
                    if (this.admittanceDate != value)
                    {
                        this.admittanceDate = value;
                        this.OnPropertyChanged("AdmittanceDate");
                    }
                }
            }

            private string location;
            public string Location
            {
                get
                {
                    return this.location;
                }
                set
                {
                    if (this.location != value)
                    {
                        this.location = value;
                        this.OnPropertyChanged("Location");
                    }
                }
            }

            private string severity;
            public string Severity
            {
                get
                {
                    return this.severity;
                }
                set
                {
                    if (this.severity != value)
                    {
                        this.severity = value;
                        this.OnPropertyChanged("Severity");
                    }
                }
            }

            private IEnumerable<Illness> history;
            public IEnumerable<Illness> History
            {
                get
                {
                    return this.history;
                }
                set
                {
                    if (this.history != value)
                    {
                        this.history = value;
                        this.OnPropertyChanged("History");
                    }
                }
            }

        }

        public class Illness : BaseViewModel
        {
            public Illness()
            {
            }

            private string admittanceId;
            public string AdmittanceId
            {
                get
                {
                    return this.admittanceId;
                }
                set
                {
                    if (this.admittanceId != value)
                    {
                        this.admittanceId = value;
                        this.OnPropertyChanged("AdmittanceId");
                    }
                }
            }

            private string illnessName;
            public string IllnessName
            {
                get
                {
                    return this.illnessName;
                }
                set
                {
                    if (this.illnessName != value)
                    {
                        this.illnessName = value;
                        this.OnPropertyChanged("IllnessName");
                    }
                }
            }

            private DateTime illnessDate;
            public DateTime IllnessDate
            {
                get
                {
                    return this.illnessDate;
                }
                set
                {
                    if (this.illnessDate != value)
                    {
                        this.illnessDate = value;
                        this.OnPropertyChanged("IllnessDate");
                    }
                }
            }
        }

        public class GridDataGenerator : BaseViewModel
        {
            public GridDataGenerator()
            {
                this._patients = new ObservableCollection<PatientAdmittance>();
                for (int i = 0; i < 10; i++)
                {
                    PatientAdmittance instance = new PatientAdmittance
                                                     {
                                                         Severity = "Severity" + i.ToString(),
                                                         AdmittanceId = i.ToString(),
                                                         FirstName = "Name" + i.ToString(),
                                                         Gender = "Female",
                                                         LastName = "LastName" + i.ToString(),
                                                         Location = "Sofia"
                                                     };
                    instance.AdmittanceDate = new DateTime(1, 1, 1);
                    instance.DOB = new DateTime(1, 1, 1);

                    ObservableCollection<Illness> hist = new ObservableCollection<Illness>();

                    instance.History = hist;

                    for (int j = 1; j <= 3; j++)
                    {
                        Illness illness = new Illness
                                              {
                                                  AdmittanceId = i.ToString(),
                                                  IllnessName = "Illness" + j.ToString(),
                                                  IllnessDate = new DateTime(1, 1, 1)
                                              };
                        hist.Add(illness);
                    }
                    this._patients.Add(instance);
                }
            }

            private ObservableCollection<PatientAdmittance> _patients;
            public ObservableCollection<PatientAdmittance> Patients
            {
                get
                {
                    return this._patients;
                }
                set
                {
                    if (this._patients != value)
                    {
                        this._patients = value;
                        this.OnPropertyChanged("Patients");
                    }
                }
            }
        }
    }

    I hope that can help .

    Best Wishes!

    Mihail