• Silverlight中的DataGrid绑定数据


    首先写一个类:
    public class Employee
     {
      public string FirstName { get; set; }
      public string LastName { get; set; }
      public decimal Salary { get; set; }
      public DateTime StartDate { get; set; }
      public bool IsVested { get; set; }
      public string Gender { get; set; }
     }

    接着再写一个类,用于DataGrid性别列的下拉框。

    public class Genders
        {
            public List<String> GenderList
            {
                get
                {
                    return new List<String> { "Male", "Female" };
                }
            }
        }

    加入一个名称空间:
    xmlns :local="clr-namespace:DataGrid_cs"

    然后声明一个属性引用:
    <UserControl.Resources>
    <local:Genders x:Key="genderList"></local:Genders>
    </UserControl.Resources>


    编写DataGrid代码:
    <data:DataGrid x:Name="grdDisplay"
          IsReadOnly="False"
            AutoGenerateColumns="False"
            RowBackground="Beige"
            AlternatingRowBackground="BlanchedAlmond"
            ColumnWidth="100"
            GridLinesVisibility="Horizontal"
            HorizontalGridLinesBrush="Blue"
            HeadersVisibility="Column"
            Margin="0,50,0,0"
            >
       <data:DataGrid.Columns>
        <data:DataGridTextColumn Header="First Name" CanUserSort="False" Binding="{Binding FirstName}" />
        <data:DataGridTextColumn Header="Last Name" Binding="{Binding LastName}" />
        <data:DataGridTextColumn Header="Salary" Binding="{Binding Salary}" />
        <data:DataGridCheckBoxColumn Header="Is Vested" Binding="{Binding IsVested}" />
        <data:DataGridTemplateColumn Header="Start Date" SortMemberPath="StartDate">
         <data:DataGridTemplateColumn.CellTemplate>
          <DataTemplate>
           <TextBlock Text="{Binding Path=StartDate}" />
          </DataTemplate>
         </data:DataGridTemplateColumn.CellTemplate>
        </data:DataGridTemplateColumn>
        <data:DataGridTemplateColumn Header="Gender" SortMemberPath="Gender">
         <data:DataGridTemplateColumn.CellTemplate>
          <DataTemplate>
           <TextBlock Text="{Binding Path=Gender}" />
          </DataTemplate>
         </data:DataGridTemplateColumn.CellTemplate>
                        <data:DataGridTemplateColumn.CellEditingTemplate>
                            <DataTemplate>
                                <ComboBox Loaded="ComboBox_Loaded" SelectedItem="{Binding Path=Gender, Mode=TwoWay}" ItemsSource="{Binding GenderList, Source={StaticResource genderList}}"></ComboBox>
                            </DataTemplate>
                        </data:DataGridTemplateColumn.CellEditingTemplate>
                    </data:DataGridTemplateColumn>
       </data:DataGrid.Columns>
      </data:DataGrid>

    最后写后台代码:

    public Page()
      {
       InitializeComponent();
       List<Employee> employeelist = new List<Employee>();
       employeelist.Add(new Employee { FirstName = "Tom", LastName = "Smith", Salary = 50000, StartDate = new DateTime(2006, 10, 3), IsVested = true, Gender = "Male" });
       employeelist.Add(new Employee { FirstName = "Sue", LastName = "Smith", Salary = 45000, StartDate = new DateTime(2006, 10, 4), IsVested = true, Gender = "Female" });
       employeelist.Add(new Employee { FirstName = "Sharon", LastName = "Smith", Salary = 79000, StartDate = new DateTime(2006, 10, 5), IsVested = false, Gender = "Female" });
       employeelist.Add(new Employee { FirstName = "Joe", LastName = "Smith", Salary = 55000, StartDate = new DateTime(2006, 10, 6), IsVested = true, Gender = "Male" });
       employeelist.Add(new Employee { FirstName = "John", LastName = "Smith", Salary = 60000, StartDate = new DateTime(2006, 10, 7), IsVested = false, Gender = "Male" });
       employeelist.Add(new Employee { FirstName = "Amy", LastName = "Smith", Salary = 65000, StartDate = new DateTime(2006, 10, 8), IsVested = true, Gender = "Female" });
       employeelist.Add(new Employee { FirstName = "Kristi", LastName = "Smith", Salary = 150000, StartDate = new DateTime(2006, 10, 9), IsVested = false, Gender = "Female" });
       grdDisplay.ItemsSource = employeelist;

      }

            private void ComboBox_Loaded(object sender, System.Windows.RoutedEventArgs e)
            {
                ((ComboBox)sender).IsDropDownOpen = true;

            }

    关于作者: 王昕(QQ:475660) 在广州工作生活30余年。十多年开发经验,在Java、即时通讯、NoSQL、BPM、大数据等领域较有经验。
    目前维护的开源产品:https://gitee.com/475660
  • 相关阅读:
    这年头学爬虫还就得会点 scrapy 框架
    【全栈之路】JAVA基础课程十_JAVA虚拟机(20190706v1.1)
    牛客练习赛61
    ERD图
    深入理解Java虚拟机-如何利用VisualVM对高并发项目进行性能分析
    阿里研究员吴翰清:世界需要什么样的智能系统?
    《深入理解 C# (第2版)》
    HtmlAgility 抓取网页上的数据
    abp(net core)+easyui+efcore实现仓储管理系统——入库管理之三存储过程(三十九)
    如何Tomcat完美访问web项目,无需配置“项目名”
  • 原文地址:https://www.cnblogs.com/starcrm/p/1348388.html
Copyright © 2020-2023  润新知