silverlight 分页,绑定图片列,序号列

来源:互联网 发布:java拉姆达表达式 编辑:程序博客网 时间:2024/05/16 01:32

<UserControl x:Class="xxx.TaskQueryInstance"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="400" d:DesignWidth="1200"
    xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
             xmlns:Customs="clr-namespace:EasySL.UI.QueryAndCollect">
<UserControl.Resources>
        <Style x:Key="DataGridHeaderStyle" TargetType="sdk:DataGridColumnHeader">
            <Setter Property="HorizontalContentAlignment" Value="Center"></Setter>
            <Setter Property="FontWeight" Value="Bold"></Setter>
        </Style>
    </UserControl.Resources>
    <Grid x:Name="LayoutRoot" >
        <Grid.Resources>
            <Customs:MessageInfoIconConverter x:Key="MessageInfoIconConverter"/>
        </Grid.Resources>
        <Grid.Background>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="Black" Offset="0" />
                <GradientStop Color="#09FFFFFF" Offset="1" />
                <GradientStop Color="#CADCEBF7" Offset="0" />
                <GradientStop Color="#4DFFFFFC" Offset="0.721" />
            </LinearGradientBrush>
        </Grid.Background>
        <sdk:DataGrid AutoGenerateColumns="False" ColumnHeaderStyle="{StaticResource DataGridHeaderStyle}" HorizontalAlignment="Left" Margin="12,42,0,0" Name="dgData" VerticalAlignment="Top" >
            <sdk:DataGrid.Columns>
                <!---序列号-->
                <sdk:DataGridTemplateColumn Header="序号" Width="50">
                    <sdk:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock HorizontalAlignment="Center" />
                        </DataTemplate>
                    </sdk:DataGridTemplateColumn.CellTemplate>
                </sdk:DataGridTemplateColumn>
                <sdk:DataGridTextColumn Width="140" Binding="{Binding IID, Mode=OneWay}" Header="编号" IsReadOnly="True" />
                <sdk:DataGridTextColumn Width="240" Binding="{Binding 业务类型, Mode=OneWay}" Header="案件类型" IsReadOnly="True" />
                <sdk:DataGridTextColumn Width="70" Binding="{Binding 受理人, Mode=OneWay}" Header="受理人" IsReadOnly="True" />
                <sdk:DataGridTextColumn Width="140" Binding="{Binding 接件时间,StringFormat=yyyy/MM/dd}" Header="接件时间" IsReadOnly="True" />
                <sdk:DataGridTemplateColumn Width="60" Header="优先级" IsReadOnly="True" >
                    <sdk:DataGridTemplateColumn.CellTemplate>
                        <!--普通图片模式-->
                        <!---Customs: 引用命名空间-->
                        <DataTemplate xmlns:Customs="clr-namespace:EasySL.UI.QueryAndCollect">
                            <Grid>
                                <Grid.Resources>
                                    <Customs:MessageInfoIconConverter x:Key="MessageInfoIconConverter"/>
                                </Grid.Resources>
                            <Image Width="15" Height="15" Source="{Binding Path=优先级, Converter={StaticResource MessageInfoIconConverter}}">
                                    <ToolTipService.ToolTip>
                                    <TextBlock Text="{Binding Path=优先级}"/>
                                    </ToolTipService.ToolTip>
                                </Image>
                            </Grid>
                            </DataTemplate>
                    </sdk:DataGridTemplateColumn.CellTemplate>
                </sdk:DataGridTemplateColumn>
                <sdk:DataGridTemplateColumn Header="详细" Width="70">
                    <sdk:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <sdk:Label HorizontalAlignment="Center" Content="详细" Cursor="Hand" Foreground="#FF25A128" MouseLeftButtonDown="lblCk_MouseLeftButtonDown"  Name="lblCk" Tag="{Binding IID}" />
                        </DataTemplate>
                    </sdk:DataGridTemplateColumn.CellTemplate>
                </sdk:DataGridTemplateColumn>
            </sdk:DataGrid.Columns>
        </sdk:DataGrid>
        <Button Content="显示图表" Height="23" HorizontalAlignment="Left" Margin="633,13,0,0" Name="btnXstb" VerticalAlignment="Top" Width="75" Click="btnXstb_Click" />
        <Button Content="返回" Height="23" HorizontalAlignment="Left" Margin="709,13,0,0" Name="btnBack" VerticalAlignment="Top" Width="75" Click="btnBack_Click" />
        <sdk:DataPager x:Name="dpPage" PageSize="14" DisplayMode="FirstLastPreviousNext"
PageIndexChanged="dpPage_PageIndexChanged"   Height="20"
VerticalAlignment="Bottom" d:LayoutOverrides="Width"/>

    </Grid>
</UserControl>

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using EasySL.Entity;
using EasySL.UI.GetWebService;
using System.IO.IsolatedStorage;
using System.Windows.Media.Imaging;
using System.Windows.Data;
using System.Collections.ObjectModel;
using System.Text;
using System.Windows.Markup;

namespace xxx{
    public partial class TaskQueryInstance : UserControl
    {
        public string searchWord = string.Empty;
        WsMenuServiceSoapClient client = new WsMenuServiceSoapClient();
        public TaskQueryInstance()
        {
            InitializeComponent();
            //绑定行
            dgData.LoadingRow += new EventHandler<DataGridRowEventArgs>(dgData_LoadingRow);
            //给分页控件赋初始值
            this.dpPage.Source = null;
            //用独立存储空间页面传值
            IsolatedStorageSettings appSettings = IsolatedStorageSettings.ApplicationSettings;
            Dictionary<string,string> dic=appSettings["bjcx"] as Dictionary<string,string>;
            client.SearchFlowDataGridCompleted += new EventHandler<SearchFlowDataGridCompletedEventArgs>(client_SearchFlowDataGridCompleted);
            client.SearchFlowDataGridAsync(dic["stime"],dic["etime"],dic["ywlx"],dic["yxj"],dic["sqdw"],dic["ywbh"],dic["ybj"],dic["wbj"],dic["yjs"],dic["wjs"],dic["yzj"],dic["wzj"],(SessionManager.Session["user"] as St_User).USERID,searchWord);
           
        }
        //显示序号列
        void dgData_LoadingRow(object sender, DataGridRowEventArgs e)
        {
            int index = e.Row.GetIndex();
            var cell = dgData.Columns[0].GetCellContent(e.Row) as TextBlock;
            cell.Text = (dpPage.PageIndex*dpPage.PageSize+(index + 1)).ToString();
        }

        void client_SearchFlowDataGridCompleted(object sender, SearchFlowDataGridCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                //分页并绑定数据
                ObservableCollection<WorkFlowItem> result = e.Result;
                PagedCollectionView itemListView = new PagedCollectionView(result);
                this.dgData.ItemsSource = itemListView;
                this.dpPage.Source = itemListView;
            }
            else
            {
                throw new NotImplementedException();
            }
        }

        private void lblCk_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            Label lbl = sender as Label;
            string lblstr = lbl.Tag.ToString();
            System.Windows.Browser.HtmlPage.Window.Alert(lblstr);
        }

        private void btnXstb_Click(object sender, RoutedEventArgs e)
        {

        }

        private void btnBack_Click(object sender, RoutedEventArgs e)
        {
            this.Content = new QueryAndCollect.TaskQuery();
        }

        private void dpPage_PageIndexChanged(object sender, EventArgs e)
        {
           
        }
          
    }
    //图片转换函数类
    public class MessageInfoIconConverter : IValueConverter
    {
        private const string IMG_PATH = @"/EasySL.UI;component/Images/";

        public object Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            string imgstr = value.ToString();
            if (imgstr.EndsWith("0"))
                return IMG_PATH+"top_ico_yxj1.png";
            else if (imgstr.Equals("1"))
                return IMG_PATH + "top_ico_yxj2.png";
            else
                return IMG_PATH + "top_ico_yxj3.png";
        }

        public object ConvertBack(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new System.NotImplementedException();
        }
    }
}
如果<Customs:MessageInfoIconConverter x:Key="MessageInfoIconConverter"/>
报找不到程序集,请编译一下

原创粉丝点击