• wpf DataGrid的用法


               在wpf中DataGrid类似于web中的GrilView,用来绑定数据列表的,用法很类似,也可以定义模板,灵活显示,看一下代码

               xaml:

              

     <DataGrid Name="dgDataSource" IsReadOnly="True"  Width="725">
                    <DataGrid.Resources>
                        <Style TargetType="{x:Type DataGridRow}">
                            <Setter Property="Height" Value="95"/>
                        </Style>
                    </DataGrid.Resources>
                    <DataGrid.Columns> 
                        <DataGridTextColumn Width="300" Header="广告标题" Binding="{Binding Title,Mode=OneWay}" CellStyle="{StaticResource dgvCellLeft10}" />
                        <DataGridTemplateColumn Header="广告图片" Width="250">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>                                        
    <Image Height="78" Source="{Binding AdPhoto,Mode=OneWay}" HorizontalAlignment="Left" Margin="10,0,0,0" Name="image1"
    Stretch="Fill" VerticalAlignment="Top" Width="190" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> <DataGridTextColumn Width="150" Header="添加时间" Binding="{Binding AddTime,Mode=OneWay,StringFormat='yyyy-MM-dd HH:mm:ss'}"
    CellStyle="{StaticResource dgvCellLeft10}"/> </DataGrid.Columns> <DataGrid.ContextMenu> <ContextMenu> <!--<Separator />--> <MenuItem x:Name="mitmDelete" Header="删除广告" Click="mitmDelete_Click"> <MenuItem.Icon> <Image Source="/Fin;component/Icons/Error.ico" /> </MenuItem.Icon> </MenuItem> <MenuItem x:Name="mitmUpdate" Header="修改广告" Click="mitmUpdate_Click"> <MenuItem.Icon> <Image Source="/Fin;component/Icons/Error.ico" /> </MenuItem.Icon> </MenuItem> <!--<Separator />--> </ContextMenu> </DataGrid.ContextMenu> </DataGrid>

    在这里定义了模板,因为图片需要显示在Image中,其中MenuItem作用就是右击,效果如下

    后台代码中,采用了泛型集合IList<实体>的绑定方法

     /// <summary>
            /// 实体
            /// </summary>
            private WebShopAdService.ShopAd Entity
            {
                get { return this.dgDataSource.CurrentItem as WebShopAdService.ShopAd; }
            }
      /// <summary>
            ///  初始化数据
            /// </summary>
            private void InitializeData() 
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append(" AddUser='"+PassData.CurrentUserId+"'");
                pager.PageSize = 2;
                WebShopAdService.ShopAd[] shopAdList = webShopAd.isSelectPaging(strSql.ToString(), pager.PageSize, pager.PageCurrent, out _dataTotal);
                IList<WebShopAdService.ShopAd> list = new List<WebShopAdService.ShopAd>(shopAdList);
                foreach (var item in list)
                {
                    ShopAd model = item as ShopAd;
                    model.AdPhoto = ReadConfig.GetValue("webDomain") + model.AdPhoto;
                }  
                 dgDataSource.ItemsSource = list;
            }

    可以通过Entity.ID类似的获取其他属性

  • 相关阅读:
    【20211112】学习,为自己,也为别人
    【20211109】计划会使人拥有魔力
    【20211110】责任是不确性的克星
    【20211113】因材施教
    【20211119】责任能使人变得难以置信
    【20211115】连岳摘抄
    【20211106】连岳摘抄
    c#中用正则过滤所有标点符号
    带农历的JavaScript日期时间
    JQuery常用方法一览
  • 原文地址:https://www.cnblogs.com/shuang121/p/2860847.html
Copyright © 2020-2023  润新知