Silverlight以列表显示数据库数据_DataGrid

效果图:

    

前台代码:

里面有一部分是我测试统计图的代码,不想改,感觉应该不影响理解....

<UserControl x:Class="Task_One.MainPage"
    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"
    xmlns:my="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
    xmlns:vc="clr-namespace:Visifire.Charts;assembly=SLVisifire.Charts"
    mc:Ignorable="d"
    d:DesignHeight="700" d:DesignWidth="1400" >

    <Grid x:Name="LayoutRoot1" Background="AliceBlue">
        <Grid.RowDefinitions>
            <RowDefinition Height="50"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="auto"/>
            <RowDefinition Height="40"/>
        </Grid.RowDefinitions>
        <!--<Grid Grid.Row="0">
            <Button Content="Button" HorizontalAlignment="Left" Margin="188,17,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click_1"/>
            <TextBox x:Name="myText" HorizontalAlignment="Left" Height="23" Margin="10,17,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="143"/>
            <TextBox x:Name="text18" HorizontalAlignment="Left" Height="23" Margin="430,16,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="120"/>
            <TextBox  x:Name="text30" HorizontalAlignment="Left" Height="23" Margin="643,16,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="120"/>
            <TextBox  x:Name="text40" HorizontalAlignment="Left" Height="23" Margin="858,16,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="120"/>

            <TextBlock HorizontalAlignment="Left" Margin="358,20,0,0" TextWrapping="Wrap" Text="18岁占比:" VerticalAlignment="Top"/>
            <TextBlock HorizontalAlignment="Left" Margin="569,20,0,0" TextWrapping="Wrap" Text="30岁占比:" VerticalAlignment="Top"/>
            <TextBlock HorizontalAlignment="Left" Margin="795,20,0,0" TextWrapping="Wrap" Text="40岁占比:" VerticalAlignment="Top"/>
            <Button Content="修改" HorizontalAlignment="Left" Margin="1014,17,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click_2"/>
        </Grid>-->
        <Grid x:Name="LayoutRoot" Grid.Row="1" Background="AntiqueWhite">

            <my:DataGrid AutoGenerateColumns="False"  HorizontalAlignment="Left" Name="dgList" Width="250" Margin="10,10,0,60">
                <my:DataGrid.Columns>
                    <my:DataGridTextColumn Header="ID" Binding="{Binding ID,Mode=OneWay}" Width="80"></my:DataGridTextColumn>
                    <my:DataGridTextColumn Header="手机号" Binding="{Binding WORKSTATION,Mode=OneWay}" Width="150"></my:DataGridTextColumn>

                </my:DataGrid.Columns>
            </my:DataGrid>

            <vc:Chart Grid.Row="0" Name="chtChartOne" Height="300" Width="500">
                <vc:Chart.AxesY>
                    <!--Y间隔-->
                    <vc:Axis  Interval="20" Suffix="%"/>
                </vc:Chart.AxesY>
            </vc:Chart>

        </Grid>

    </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 System.Collections.ObjectModel;
using Task_One.ServiceReference1;
using System.Reflection;
using Visifire.Charts; //因为要用到Assembly,所以引入此空间

namespace Task_One
{

    public partial class MainPage : UserControl
    {

        public MainPage()
        {
            _YV18 = new Random().Next(45);
            _YV30 = new Random().Next(30);
            _YV40 = new Random().Next(20);

            InitializeComponent();
            InitPage();

        }
        private void client_GetDatabyNameCompleted(object sender, GetDatabyNameCompletedEventArgs e)
        {

            System.Collections.ObjectModel.ObservableCollection<ServiceReference1.Class1> temp =

                new ObservableCollection<ServiceReference1.Class1>();

            temp = e.Result;
            dgList.ItemsSource = temp;
            //for (int i = 0; i < temp.Count; i++)
            //{

            //    MessageBox.Show(temp[i].ID.ToString() + " and " + temp[i].WORKSTATION.ToString());
            //}
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {

            Task_One.ServiceReference1.ServiceClient client = new Task_One.ServiceReference1.ServiceClient();

            client.GetDatabyNameAsync(Convert.ToInt32(myText.Text.ToString()));

            client.GetDatabyNameCompleted += new EventHandler<GetDatabyNameCompletedEventArgs>(client_GetDatabyNameCompleted);

            client.CloseAsync();
        }

        #region   柱状图示例
        /// <summary>
        /// 画柱状图
        /// </summary>
        public void InitPage()
        {
            chtChartOne.Series.Clear();

            chtChartOne.View3D = true;
            //Title title = new Title();

            //title.Text = "柱状图的标题内容";
            //chtChartOne.Titles.Add(title);

            //统计资料列
            DataSeries ds = new DataSeries();
            //柱状类型
            ds.RenderAs = RenderAs.StackedColumn;
            //显示Lable
            ds.LabelStyle = LabelStyles.OutSide;
            ds.LabelEnabled = true;
            //栏
            ds.DataPoints.Add(new DataPoint() { AxisXLabel = "18-29岁", YValue = YV18 });
            ds.DataPoints.Add(new DataPoint() { AxisXLabel = "30-39岁", YValue = YV30 });
            ds.DataPoints.Add(new DataPoint() { AxisXLabel = "40-49岁", YValue = YV40 });
            ds.DataPoints.Add(new DataPoint() { AxisXLabel = "50-64岁", YValue = 18.9 });
            ds.DataPoints.Add(new DataPoint() { AxisXLabel = "65岁以上", YValue = 17.2 });
            chtChartOne.Series.Add(ds);
        }
        #endregion

        /// <summary>
        /// 修改比例值
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            YV18 = Convert.ToInt32(text18.Text.ToString());

            if (Convert.ToInt32(text30.Text.ToString()) >= 0)
            {
                 YV30 = Convert.ToInt32(text30.Text.ToString());
            }
            else
            {
                YV30 = 0;
            }
            if (Convert.ToInt32(text40.Text.ToString())>=0)
            {
                 YV40 = Convert.ToInt32(text40.Text.ToString());
            }
            else
            {
                YV40 = 0;
            }

            InitPage();

        }

        private Int32 _YV18;
        private Int32 _YV30;
        private Int32 _YV40;

        public Int32 YV18
        {
            get { return _YV18; }
            set { _YV18 = value; }
        }
        public Int32 YV30
        {
            get { return _YV30; }
            set { _YV30 = value; }
        }
        public Int32 YV40
        {
            get { return _YV40; }
            set { _YV40 = value; }
        }

    }

}

源码:http://pan.baidu.com/s/1o6p2F9o

参考资料:http://www.cnblogs.com/Kinglee/archive/2009/08/25/1553938.html

http://www.nbcoder.net

时间: 2024-09-04 03:27:39

Silverlight以列表显示数据库数据_DataGrid的相关文章

Visual Studio2017 数据库数据比较

一.前言 上一篇文章我们介绍了如何使用VS2017对SSMS数据库进行架构比较.这一篇文章我们将继续介绍如何对SSMS数据库的数据进行比较.数据的比较也是很常见的,比如我们要比较当前版本的数据库相对上一个版本在内容上有哪些改变.这个时候我们使用数据比较就可以很清楚看到异同,同样我们也可以对目标数据进行同步. 二.关于 从Visual Studio 2005版本开始,VS不仅开始支持“比较和同步数据库架构”,同时也开始支持“比较和同步数据库数据”. 三.开始演练 本次演练使用VS2017自带的SQ

C#在listview控件中显示数据库数据

一.了解listview控件的属性 view:设置为details columns:设置列 items:设置行 1.将listview的view设置为details 2.设置列属性 点击添加,添加一列 设置一列的Text属性,这就是列名 添加三列 3.编辑items属性,添加一行数据 编辑Text属性,添加一行的第一个数据 编辑subitems属性,添加一行中的其他数据 添加两个数据 填写结果 二.在listview中显示数据库数据 //在listview中显示数据库数据 private voi

Asp.net--GridView控件--(1)高亮显示当前所在行,(2)高亮显示单击行,(3)绑定数据库数据,(4)分页,(5)导出到excel表格,(6)首列插入序号

//本页代码中的DB类及方法在http://www.cnblogs.com/Deerjiadelu/p/7252769.html中能查询到 (1)Asp.net--GridView控件--高亮显示当前所在行 protected void gvquery_DataBound(object sender, GridViewRowEventArgs e) { //高亮显示光标所在行 if (e.Row.RowType == DataControlRowType.DataRow)//判断当前行是不是数据

使用pentaho工具将数据库数据导入导出为Excel

写在前面:本篇博客讲述的是如何使用pentaho工具快速的将数据库数据导出为Excel文件,以及如何将Excel文件数据导入数据库. 补充:使用此工具并不需要任何一句代码并能快速便捷解决实际问题,此工具功能不仅仅局限这一点,其他功能后续更新. 工具下载:你可以根据你电脑的系统选择不同版本在pentaho官网进行下载: http://www.pentaho.com/download 需求一:将mysql一张表数据导出到Excel 第一步:添加数据库驱动包 注意:由于本例我要将mysql数据库数据导

读取数据库数据,并将数据整合成3D饼图在jsp中显示

首先我将生成饼图的方法独立写成一个PieChar.java类,详细代码如下:(数据库需要自己建,如有需要的话) 1 import java.io.IOException; 2 import java.sql.SQLException; 3 import org.jfree.chart.ChartFactory; 4 import org.jfree.chart.JFreeChart; 5 import org.jfree.data.general.DefaultPieDataset; 6 7 p

Oracle 数据库 数据文件 表 表空间 用户的关系

这涉及到数据库的物理结构和逻辑结构. 首先,你需要明白的一点是:数据库的物理结构是由数据库的操作系统文件所决定,每一个Oracle数据库是由三种类型的文件组成:数据文件.日志文件和控制文件.数据库的文件为数据库信息提供真正的物理存储. 每一个Oracle数据库有一个或多个物理的数据文件(data file).一个数据库的数据文件包含全部数据库数据.逻辑数据库结构(如表.索引等)的数据物理地存储在数据库的数据文件中.数据文件通常为*.dbf格式,例如:userCIMS.dbf.数据文件有下列特征:

C#在窗口中ComboBox控件中加载数据库数据

首先,窗体一加载,绑定省份和城市数据 //窗口加载事件 private void register_Load(object sender, EventArgs e) { bindPro();//绑定省份数据函数 } /// <summary> /// 绑定省份数据函数 /// </summary> public void bindPro() { //获取数据库数据 List<ProvinceData> list = new ProvinceDA().Select();

solr 简单搭建 数据库数据同步(待续)

原来在别的公司负责过文档检索模块的维护(意思就是不是俺开发的啦).所以就稍微接触和研究了下文档检索. 文档检索其实是全文检索,是通过一种技术把N多文档进行一定规律的切割归类,然后创建易于搜索的索引式文件,然后搜索具有某些规律的文档时,能够通过快速定位索引,然后根据索引提供的信息精确定位到文档从而实现迅速找到文档.这个文档一般成为条目. 上家公司的时候使用的是Lucene加上Zoie实现的.lucene是apache下的开源项目,不过并不是全文检索的实现,而是一个全文检索的引擎,是一个架构,是其他

『数据库』随手写了一个 跨数据库 数据迁移工具

随手写了一个 跨数据库 的 数据迁移工具:>目前支持 SQLServer,MySql,SQLite: >迁移工具 可以自动建表,且 保留 主键,自增列: >迁移工具 基于 Laura.Source  ORM框架 开发: >迁移工具 支持 崩溃恢复(重启迁移工具,将会继续 未完成的 数据迁移): >每张表一个事务(即使  表中有 >100W 的数据,也是一个事务完成): >迁移后 的 自增列 和 原数据库 保持一致: 只是展示一下,直接上图片: 操作工具: 迁移工具