zoukankan      html  css  js  c++  java
  • Building a Simple DataGrid in Silverlight 4.0

    Let's run through a simple DataGrid example.

    1. create a new silverlight applicaiton in VS 2010. Name the project SimpledataGrid, and have VS create a web application porject for you.

    2. Add the DataGrid to your application. To do this, simply add the DataGrid to the root Grid in your XAML, and set the Margin property to 10 to get some spacing around the grid. In addition, give the DataGrid the name grid. Note that, by default, the Grid's AutoGenerateColumns property is set to true. If you were going to define the columns manually, you would want to set this property to false. Howeve, since you want the grid to create the columns automatically, you can omit the property. The DataGrid definition follows:

    <Grid x:Name="LayoutRoot" Background="White">

      <sdk:DataGrid Name="grid" Margin="10">
               
            </sdk:DataGrid>

    </Grid>

    3. Next, build the class that will be bound to the DataGrid. Call the class GridData for simplicity, and give it three properties: Name(string), Age(int), and Mail(Boolean). Also for simplicity, create a static method that will return an ObservableCollection(requies adding a using clause for System.Collection.ObjectModel) containing some sample data that will be bound to the grid. In addition, define the class directly in MainPage.xaml.cs file. This is not really a good idea in the ral world, but for the sake of an example, it will work just fine. Ideally, you will want to define your classes in seperate or even in completely sepatate projects and assemblies. The code for the GridData class follows:

    public class GridData
        {
            public string Name { get; set; }
            public int Age { get; set; }
            public bool Male { get; set; }

            public static ObservableCollection<GridData> GetData()
            {
                ObservableCollection<GridData> data = new ObservableCollection<GridData>();
                data.Add(new GridData()
                {
                    Name="Jone Doe", Age =30, Male=true
                });
                data.Add(new GridData() { Name = "Jane Doe", Age = 32, Male = false });
                data.Add(new GridData() { Name = "Jason Smith", Age = 54, Male = true });
                data.Add(new GridData() { Name = "Kayli Jayne", Age = 25, Male = false });
                return data;
            }
        }

    4. Now that you hvae the XAMl and the class defined, you can wire them up. To do this, first create an event handler for the Loaded event of the page, as follows:

    void MainPage_Loaded(object sender, RoutedEventArgs e)
            {
                this.grid.ItemsSource = GridData.GetData();
            }

    5. Build and run the application. If all is well, you should see the DataGrid displayed.

  • 相关阅读:
    使用尾递归对斐波那契优化?
    Ajax是什么?包含什么技术?有什么作用?
    Ajax的乱码解决问题?
    Ajax的核心的对象是什么?
    为什么Java中不支持多重继承?
    vue-router的原理,例如hashhistory和History interface?
    JSP是什么?有什么特点?
    forward 和redirect的区别?
    Listener是什么?有什么作用?
    请说一说Servlet的生命周期?
  • 原文地址:https://www.cnblogs.com/jerrychenfly/p/2139366.html
Copyright © 2011-2022 走看看