C1WPF制作OLAP Cube浏览工具
经过前期一段时间对WPF的学习了解,相信大家对WPF有了一定的了解。今天我们一起来了解使用Component One(简称C1)的WPF控件制作CUBE浏览工具。其实这个OLAP控件官方已经有了很详细的示例。
下面是C1的WPF版所有的控件信息:
所有WPF控件信息:
OLAP组件:
不管官方介绍有多好,我们还是要自己体验了控件使用才能知道到底好不好用,我们开始创建项目。
1、新建WPF项目,名称CubeAnalysis,引入C1控件
2、 在UI界面中先要引入C1的引用xmlns:olap="clr-namespace:C1.WPF.Olap;assembly=C1.WPF.Olap.4" xmlns:c1="http://schemas.componentone.com/winfx/2006/xaml"
3、在UI界面中调用OLAP控件
界面代码如下:
<Window x:Class="CubeAnalysis.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" WindowState="Maximized" Title="MainWindow" Height="" Width="" xmlns:olap="clr-namespace:C1.WPF.Olap;assembly=C1.WPF.Olap.4" xmlns:c1="http://schemas.componentone.com/winfx/2006/xaml"> <Grid x:Name="LayoutRoot"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition /> </Grid.RowDefinitions> <StackPanel Orientation="Horizontal" Grid.ColumnSpan=""> <TextBlock Text="C1.WPF.Olap: Cube Analysis" VerticalAlignment="Center" Margin="10,5" FontSize="" FontWeight="Bold" /> <Button Content="更新" Margin="10,5" Width="" Click="Button_Click" /> <Button Content="取消更新" Margin="10,5" Width="" Click="Button_Click_1" /> </StackPanel> <olap:C1OlapPage x:Name="_c1OlapPage" Grid.Row="" /> <StackPanel x:Name="info" Grid.Row="" Visibility="Collapsed" HorizontalAlignment="Center" VerticalAlignment="Center"> <c1:C1ProgressBar x:Name="progress" Width="" Height="" /> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> <TextBlock HorizontalAlignment="Center" Text="Loading" Margin="0,4,4,0" FontSize="" FontWeight="Bold"/> <TextBlock x:Name="txt" HorizontalAlignment="Center" Margin="0,4,0,0" FontSize="" FontWeight="Bold"/> </StackPanel> </StackPanel> </Grid> </Window>
4、后端加载数据连接cube,只需要使用ConnectCube函数即可解决多维数据集获取问题。
后台代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; /*************作者:黄昏前黎明后*************************************************** * 作者:黄昏前黎明后 * CLR版本:4.0.30319.42000 * 创建时间:2018-04-18 13:12:57 * 命名空间:CubeAnalysis * 唯一标识:57a428fc-1bad-4455-ae05-2b591db69167 * 机器名称:HLPC * 联系人邮箱:hl@cn-bi.com * * 描述说明: * 修改历史: *****************************************************************/ namespace CubeAnalysis { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); //绑定OLAP数据源 _c1OlapPage.Loaded += (s, ea) => { //准备连接数据源和cube名称 string connectionString = @"Data Source=HLPC;Initial Catalog=AdventureWorksDW2014Multidimensional-EE"; string cubeName = "Adventure Works"; try { _c1OlapPage.OlapPanel.ConnectCube(cubeName, connectionString); ////默认显示数据 var olap = _c1OlapPage.OlapEngine; olap.BeginUpdate(); olap.ColumnFields.Add("Color"); olap.RowFields.Add("Category"); olap.ValueFields.Add("Order Count"); olap.EndUpdate(); } catch (Exception ex) { MessageBox.Show(ex.Message); } _c1OlapPage.OlapEngine.Updated += (s1, e) => { _c1OlapPage.OlapGrid.Opacity = ; info.Visibility = Visibility.Collapsed; }; //进度条处理 _c1OlapPage.OlapEngine.UpdateProgressChanged += (s1, e) => { _c1OlapPage.OlapGrid.Opacity = 0.4; info.Visibility = Visibility.Visible; progress.Value = (int)e.ProgressPercentage; txt.Text = e.ProgressPercentage.ToString() + " %"; }; }; } void Button_Click(object sender, RoutedEventArgs e) { // 刷新 _c1OlapPage.OlapPanel.OlapEngine.Update(); } private void Button_Click_1(object sender, RoutedEventArgs e) { // 取消更新 _c1OlapPage.OlapPanel.OlapEngine.CancelUpdate(); } } }
5、运行结果:
看到这个结果,是不是感觉使用C1WPF控件构建OLAP服务很简单很方便。其实这个只是最基本的控件,还可以制作自定义界面的,让页面布局更方便自己的使用习惯。可以轻松实现下图效果:
图形浏览:
C1WPF制作OLAP Cube浏览工具的更多相关文章
- 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具
查看本章节 查看作业目录 需求说明: 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具 实现思路: 使用history对象中的 forward() 方法和 ...
- 用Canvas制作简单的画图工具
今天用Canvas制作了一个画图工具,非常简单,功能也不是很多,主要有背景网格,画线,画圆,画矩形和画圆角矩形,也用到了canvas的一些基本知识,在这里一一列举. 1.线段的绘制: 如何绘制真正的1 ...
- gif动图快速制作方法(附工具)
现在写博客或是wiki的过程中,会经常引用到图片,特别是客户端经常与页面相关所以截图不可避.但是越来越多的效果仅仅一张图片是无法清楚的描述.并且博客或是wiki也是支持gif图的.gif图的制作方法有 ...
- CSS Animatie是一款在线制作CSS3动画的工具,可以在线直接制作CSS3动画效果,生成代码
CSS Animatie是一款在线制作CSS3动画的工具,可以在线直接制作CSS3动画效果,生成代码 CSS Animatie 彩蛋爆料直击现场 CSS Animatie是一款在线制作CSS3动画的工 ...
- Xcode之外的文档浏览工具--Dash (在iOS代码库中浏览本帖)
链接地址:http://www.cocoachina.com/bbs/read.php?tid=273479 Xcode之外的文档浏览工具--Dash (在iOS代码库中浏览本帖) ...
- 7个基于Linux命令行的文件下载和网站浏览工具
7个基于Linux命令行的文件下载和网站浏览工具 时间:2015-06-01 09:36来源:linux.cn 编辑:linux.cn 点击: 2282 次 Linux命令行是GNU/Linux中最神 ...
- gif动图快速制作方法(附工具)(转)
现在写博客或是wiki的过程中,会经常引用到图片,特别是客户端经常与页面相关所以截图不可避.但是越来越多的效果仅仅一张图片是无法清楚的描述.并且博客或是wiki也是支持gif图的.gif图的制作方法有 ...
- Ubuntu下几个命令行方式使用的图片浏览工具
想找几个Ubuntu下可以以命令行方式使用的图片浏览工具. Google了一些资料,找到下面几个web: 1.pho:轻巧的命令行图片查看器 其中介绍了工具pho,其功能特点,见下面的转帖内容: ph ...
- c语言的重构、清理与代码分析图形化浏览工具: CScout
网址: https://www.spinellis.gr/cscout/ https://www2.dmst.aueb.gr/dds/cscout/index.html https://github. ...
随机推荐
- iOS 开发之UIStackView的应用
————————————————UIStackView的应用———————————————— 一:先讲下优势: 对于排布列表式控件的布局需求,用UIStackView控件,开发中为我们省去了繁琐的代码 ...
- Installation failed: Timeout was reached: Operation timed out after 10000 milliseconds with 0 out of 0 bytes received
Trying this option worked for me. library(httr) with_config(use_proxy(...), install_github(...)) OR ...
- 关于Matlab在绘图时中文字体显示不一致的问题
我的运行环境: OS: Win10 教育版 64-bit Matlab版本:Matlab 2017a 64-bit 在使用Matlab绘图时,而横坐标轴.纵坐标轴.标题有汉字时,会发现在GUI的显示 ...
- flutter快速入门
好久以前就听说了dart和flutter,只是一直没有时间去研究一下,最近有了些时间就简单的研究了一下,也算是快速的入门了.dart是Google开发的语言,目前最新的版本为2.1,官网地址https ...
- [转]Docker 生产环境之配置容器 - 限制容器资源
默认情况下,容器没有资源限制,可以使用主机内核调度程序允许的给定资源.Docker 提供了一些方法来控制容器可以使用多少内存.CPU 或块 IO,并设置 docker run 命令的运行时配置标志.本 ...
- Oracle中实现dblink的作法
基本环境: 机器1: 192.168.56.102 用作dblink的使用者(create database link 语句在此执行) 机器2: 192.168.56.103 用作dblink的源 ...
- python基础学习1-json,pickle的序列化和反序列化
import requests import json dic={'k1':'v1'} print(dic,type(dic)) result = json.dumps(dic)#调用dumps方法把 ...
- 【转载】COM 组件设计与应用(二)——GUID 和 接口
原文:http://vckbase.com/index.php/wv/1203.html COM 组件设计与应用 系列文章:http://vckbase.com/index.php/piwz?& ...
- 1o xiaomi
atom 取色器 div.contine tab 补齐
- 网络设备重的loopback接口
回环接口在我们做试验的过程有典型的应用,几乎可以离不开它,一个虚拟的接口,给我带来了很大的方便,有了回环接口,你可以不用为你的PC,来添加第二块物理网卡,就可以完成VM,服务器搭建,群集,VPN等试验 ...