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

转载于:https://www.cnblogs.com/xiaoshi657/p/4110880.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: GenericSQLGridActiveX_DataGrid是一种功能强大且灵活的控件,用于在应用程序中显示编辑数据库表格的数据。它使用了Generic SQL作为数据源,并提供了许多功能和选项来自定义显示和处理数据。 首先,该控件支持使用Generic SQL语句来检索和修改数据。这意味着可以使用不同的SQL语句来满足不同的需求,如选择、插入、更新和删除数据。这给了开发人员更大的灵活性和控制权。 其次,该控件具有良好的数据展示和交互功能。用户可以通过表格方式查看和编辑数据,并可以执行排序、筛选和分页等功能。同时,还支持单元格级别的编辑,用户可以修改每个单元格的数据,并实时保存到数据库中。 此外,GenericSQLGridActiveX_DataGrid还提供了许多自定义选项,可以根据开发人员的需求进行配置。例如,可以设置列的可见性、宽度和排序方式。还可以定义特定列的输入验证规则,以确保数据的合法性。此外,还可以定义特定事件的处理方法,如数据变化、选中行变化等。 总之,GenericSQLGridActiveX_DataGrid控件提供了一个强大的工具,方便开发人员在应用程序中显示编辑数据库表格的数据。它的灵活性和可定制性使得开发人员可以根据具体的需求进行配置和使用。使用该控件,可以轻松地实现数据库表格的展示和编辑功能。 ### 回答2: GenericSQLGrid ActiveX DataGrid是一个可以在Windows系统中使用的数据表格控件。它支持通用SQL查询语句,可以用于数据的展示和编辑。这个控件非常灵活,可以与各种数据库进行交互,并提供了许多功能和属性来定制和操作数据表格。 使用GenericSQLGrid ActiveX DataGrid控件,我们可以通过传入SQL查询语句来快速从数据库中检索数据,并将其显示在表格中。用户可以通过控件提供的功能来对数据进行排序、筛选和分页等操作,以便更方便地查看和分析数据。 此外,GenericSQLGrid ActiveX DataGrid控件还支持数据编辑。用户可以直接在表格中修改数据,并通过特定的事件和方法将修改后的数据保存回数据库中。这使得数据编辑和重用变得极为方便。 该控件还提供了灵活的界面定制选项,用户可以通过修改样式和设置不同的属性来自定义表格的外观和行为。用户可以对列进行排序和分组,更改列的宽度和顺序,并添加自定义按钮和菜单等。 总的来说,GenericSQLGrid ActiveX DataGrid控件是一个功能强大、灵活易用的数据表格控件,可以有效地处理和展示各种数据库中的数据。无论是用于简单的数据查询还是复杂的数据分析和编辑,该控件都能提供良好的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值