当前位置:文档之家› 采用HierarchicalDataTemplate数据模板和treeview在MVVM模式下实现行政区划树

采用HierarchicalDataTemplate数据模板和treeview在MVVM模式下实现行政区划树

采用HierarchicalDataTemplate数据模板和treeview在MVVM模式下实现行政区划树
采用HierarchicalDataTemplate数据模板和treeview在MVVM模式下实现行政区划树

摘要:采用HierarchicalDataTemplate数据模板和treeview在MVVM模式下实现行政区划树,

支持勾选。勾选父节点,子节点回全部自动勾选;子节点部分勾选时,父节点半勾选;子节点全部勾选时,父节点勾选。反之亦然。

HierarchicalDataTemplate是分层数据模板,通常用于tree,menu等层级控件。

HierarchicalDataTemplate的ItemsSource属性绑定下一级数据源。

Model为行政区数据实体类,通常访问数据库获取数据并构建对象。

ViewModel为界面的抽象模型,表示界面的数据和行为,是Model和View的桥梁。

view就是界面。

一、代码

1、Model

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace WpfHierarchicalTemplate

{

public class District

{

public int ID { get; set; }

public string Xzqhdm { get; set; }//行政区划代码

public string Xzqhmc { get; set; }//行政区划名称

public int Level { get; set; }//级别,0全国,1省,2地市,3县,4,乡镇,5,村

public IList Children { get; set; }

public District Parent { get; set; }

}

}

2、ViewModel

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Collections.ObjectModel;

using System.Windows.Media;

using System.Windows.Media.Imaging;

namespace WpfHierarchicalTemplate

{

publicclass DistrictNodeViewModel :ModelCommon.NotifyObject

{

privatebool? isSelected = false;

publicbool? IsSelected

{

get{ return isSelected; }

set

{

isSelected = value;

RaisePropertyChanged("IsSelected");

}

}

privatebool? isChecked = false;

publicbool? IsChecked

{

get{ return isChecked; }

set

{

SetIsChecked(value);

}

}

privatevoid SetIsChecked(bool? value)

{

if (value != isChecked)

{

isChecked = value;

RaisePropertyChanged("IsChecked");

}

if (this.Children.Count>0&&this.Children[0].isChecked != value)

{

//设置子节点勾选状态

foreach (var item inthis.Children)

{

if (value!=null)

{

item.IsChecked = value;

}

}

}

if (this.parent != null)

{

if (this.Parent.Children.Count == this.Parent.Children.Count(item =>item.is Checked == value))

{

//同一级节点全部选中,则父节点选中。反之亦然。

this.Parent.IsChecked = value;

}

elseif (this.Parent.Children.Count>this.Parent.Children.Count(item =>item.i sChecked == value))

{

if (this.Parent.IsChecked!=null)

{

this.Parent.IsChecked = null;

}

}

}

}

privatebool? isExpand = false;

publicbool? IsExpand

{

get{ return isExpand; }

set

{

isExpand = value;

RaisePropertyChanged("IsExpand");

}

}

private BitmapImageimg;

public BitmapImageImg

{

get{ return img; }

set

{

img = value;

RaisePropertyChanged("Img");

}

}

private ObservableCollection children = new Observable Collection();

public ObservableCollection Children

{

get{ return children; }

set

{

children = value;

RaisePropertyChanged("Children");

}

}

private DistrictNodeViewModel parent;

public DistrictNodeViewModel Parent

{

get{ return parent; }

set

{

parent = value;

RaisePropertyChanged("Parent");

}

}

private District district;

public District District

{

get{ return district; }

set

{

district = value;

RaisePropertyChanged("District");

}

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Collections.ObjectModel;

namespace WpfHierarchicalTemplate

{

publicclass DistrictMainViewModel :ModelCommon.NotifyObject

{

private ObservableCollectionvmNodes;

public ObservableCollectionVmNodes

{

get{ return vmNodes; }

set

{

vmNodes = value;

RaisePropertyChanged("VmNodes");

}

}

public DistrictMainViewModel()

{

this.VmNodes = new ObservableCollection {

LoadData()

};

}

public DistrictNodeViewModelLoadData()

{

ObservableCollectionrootNodes =new ObservableCollection ();

District d00 = new District()

{

Xzqhmc = "全国",

Parent = null

};

District d0 = new District()

{

Xzqhmc="河南",

Parent=d00

};

District d1 = new District()

{

Xzqhmc = "北京",

Parent = d00

};

District d2 = new District()

{

Xzqhmc = "山东",

Parent = d00

};

District d11 = new District()

{

Xzqhmc = "海淀区",

Parent = d1

};

District d12 = new District()

{

Xzqhmc = "石景山区",

Parent = d1

};

District d13 = new District()

{

Xzqhmc = "朝阳区",

Parent = d1

};

District d01 = new District()

{

Xzqhmc = "商丘",

Parent = d0

};

District d02 = new District()

{

Xzqhmc = "郑州",

Parent = d0

};

District d03 = new District()

{

Xzqhmc = "周口",

Parent = d0

};

d1.Children = new List { d11, d12, d13 }; d0.Children = new List { d01, d02, d03 }; d00.Children = new List{d1,d2,d0}; rootNodes.Add(d00);

DistrictNodeViewModeldnv = new DistrictNodeViewModel();

dnv.District = rootNodes[0];

SetDNV(dnv, rootNodes[0]);

return dnv;

}

privatevoid SetDNV(DistrictNodeViewModelvm,District root)

{

if (root==null||root.Children==null||root.Children.Count==0)

{

return;

}

foreach (var item in root.Children)

{

DistrictNodeViewModelvmNew = new DistrictNodeViewModel();

vmNew.District = item;

vmNew.Parent = vm;

vmNew.Img = new System.Windows.Media.Imaging.BitmapImage(new Uri("/dog.jpg", UriKind.Relative));

vm.Children.Add(vmNew);

SetDNV(vmNew, item);

}

}

}

}

3、主窗口

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

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;

namespace WpfHierarchicalTemplate

{

///

/// MainWindow.xaml的交互逻辑

///

public partial class MainWindow : Window

{

public MainWindow()

{

InitializeComponent();

this.DataContext = new DistrictMainViewModel();

}

}

}

4、前台xaml

xmlns="https://www.doczj.com/doc/0314932475.html,/winfx/2006/xaml/presentation" xmlns:x="https://www.doczj.com/doc/0314932475.html,/winfx/2006/xaml"

Title="MainWindow" Height="350" Width="525">

二、效果

运营平台需求分析

运营平台需求说明 Form:产品部制作人:龚山艳日期:2011/11/28 TO:运营部 背景 目前的产品部缺少推出产品后对用户行为数据的收集分析,监测推向市场的产品(细分到二级功能栏目)用户使用状况及用户偏好。 运营BI平台需要实现的其中之一目标:满足产品经理对自己搭建的产品模块的各项流量数据指标进行对比,挖掘用户偏好,监控新推出的产品用户关注度等功能,以便于对产品细节进行改进。 目标 通过搭建运营BI平台进行用户行为数据统计,建立标准化模型,对产品进行按栏目分类、按时间、按PV、UV、用户停留时间等数据进行横纵向图表分析用户行为、数据挖掘,掌握产品推向市场的的总体表现,以及深度挖掘用户的喜好及用户的需求,分析产品的优势及不足之处,便于产品经理提出产品改进计划,不断推出更符合用户需求、具有竞争力的产品。 需求说明 一、需求概述 条件索引:时间、指标、栏目 时间维度:时段、周、季度及日历表自定义,日统计是分时段,周/月/季是按日统计(汇总值与每日值); 主要指标: 1)流量指标--独立访客(UV)、IP、停留时间,访问量(PV)、人均浏览次数、人均在线时长; 2)运算指标--跳转率、回访率、流失率、其他流量指标占比; 3)用户分类指标--总用户、新用户、活跃用户、流失用户; 4)用户信息指标--访问频率、首次访问时间、最近一次登陆时间、访问频率、平均停留时间、所用操作系统、分辨率、用户属哪类(分析师、基金经理、研究员、投资顾问); 栏目分级:一级、二级(栏目、功能键)见附表。 四大模块:全局运营分析、流量指标分析、用户信息分析、用户体验分析; 功能要求:报表展示、灵活查询对比、导出外部文件、数据有连惯性有精度、排除干扰因素;

Access Treeview 应用实例

《Access Treeview 应用实例》 使用说明: 本程序可在各种支持VBA语言的软件上直接使用,其中MS Access已成功测试具体步骤为: 1、在Access里创建一个tblTreeview的数据表如下图: 2、在Access里创建一个frmTreeview的窗体,在窗体里创建一个Treeview1的Treeview控件和一个 ImageList1的ImageList控件如下图:

3、然后把程序复制到frmTreeview窗体的加载事件当中如下图: 4、最终效果如下图:

程序: Private Sub Form_Load() On Error Resume Next Dim strParent As String, strChild As String, MyNode As Node Me.Treeview1.Nodes.Clear '清除Treeview的所有旧节点 Me.Treeview1.ImageList =Me.ImageList1.Object '把图标加载到每个节点前面 Set rst = CurrentDb.OpenRecordset("SELECT * FROM tblTreeview", dbOpenSnapshot, dbReadOnly) 'Treeview 节点数据来源 While Not rst.EOF strChild = rst!ChildID If rst!ChildID <> rst!ParentID Then strParent = Mid(rst!ParentID, 1, Len(rst!ParentID) - Len(rst!ChildID) - 1) Set MyNode = Me.Treeview1.Nodes.Add(strParent, tvwChild, rst!ParentID, rst!ChildID, "A1", "A3") '加载子节点 Else strParent = rst!ChildID Set MyNode = Me.Treeview1.Nodes.Add(, , strChild, rst!ChildID, "A1", "A3") '加载父节点End If rst.MoveNext Wend rst.Close '关闭数据集 Me.Treeview1.HideSelection = False '离开焦点后有阴影 End Sub

公司人力资源部数据分析版

公司人力资源部数据分 析版 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

***公司人力资源部数据分析2015年版 一、基础人事模块(数据截止点) 1、概述:总人数入职离职异动(内部流动、晋升) 2、员工增长率(年度) 【定义】是指新增员工人数与原有企业员工人数的比例。 【公式】员工增长率=本年度新增员工人数/上年同期员工人数(在职员工人数) *100% 【说明】员工增长率反映了企业人力资源的增长速度。同时也可以反映出人力资本的增长速度。将员工增长率与企业的销售额增长率、利润增长率等结合起来,可以反映出企业在一定时期内的人均生产效率。 3、新员工入职人数部门分布 【定义】是指新入职员工部门分布柱状图 【说明】可以反映出各个部门人员需求的情况,还有培训需求有较大的关联。 4、人力资源流动率 【定义】是指报告期内企业流动人数(包括流入人数和流出人数)占总人数的比例。是考察企业组织与员工队伍是否稳定的重要指标,报告期一般为一年 【公式】流动率=(一年期内流入人数+流出人数)÷统计期平均人数 月平均人数=(月初人数+月末人数)÷2 季平均人数=(季内各月平均人数之和)÷3 年平均人数=(年内各月平均人数之和)÷12 或:=(年内各季平均人数之 和)÷4 【说明】流入人数指调入和新进人数,流出人数指退休、内退、调出、辞职、辞退和合同到期不再续签人数。由于人力资源流动直接影响到组织的稳定和员工的工作情绪,必须加以严格控制。若流动率过大,一般表明人事不稳定,劳资关系存在较严重的问题,而且导致企业生产效率低,以及增加企业挑选,培训新进人员的成本。若流动率过小,又不

VB控件 treeview用法详解

VB TreeView控件使用详解 (2012-06-16 15:08:16) 标签:分类: 第一小时:学习直接用代码将数据填充到树控件中。 为什么要先学习直接用代码将数据填充到树控件中因为这种方法是最简单的,代码也最容易理解,学习树控件,先将这个学会,已经掌握了一半,所以先不要急着想怎么将表中的数据填充到树控件中,在第一小时里,树控件和表完全没有关系。 目的:我们要在树控件中建立如下的一个3层级关系 水果 | |__苹果 | |__红富士 | |__国光 | |__葡萄 |__红提子 |__青提子 解释:水果包含2种,一种是苹果,一种是葡萄,苹果又包含2种,一种是红富士,一种是国光,葡萄也如此。 在这里:“爷”是水果,“父”是苹果,葡萄,“子”是红富士,国光,红提子,青提子。概括如下: 爷(只能有一个):水果 父(这里有2个):父1:苹果;父2:葡萄

子(这里有4个):子1:红富士(父1苹果的子);子2:国光(父1苹果的子);子3:红提子(父2葡萄的子);子4:青提子(父2葡萄的子) 1、新建一个窗体,在窗体上放置两个控件,一个是Treeview,一个是Imagelist 如何找到这两个控件 Treeview控件在“工具箱”的榔头加扳手图标(其他控件)中选“Microsoft Treeview Control,Version " Imagelist控件在“工具箱”的榔头加扳手图标(其他控件)中选“Microsoft Imagelist Control,Version " Treeview控件大家都明白干什么用的,Imagelist控件是干什么用呢原来这个控件是放图标用的,如果你想在树控件中显示图标的,这个图标都将储存在ImageList控件中。 2、设置这两个控件的属性 首先要讲清楚控件的属性设置有2种,一种是设置这个控件在ACCESS中的属性,比如名称等。一种是设置这个控件本身的属性。要设置这个控件在ACCESS中的属性,选中控件后按鼠标右键选“属性”就可以了。跟我们平时设置文本框什么的一样。要设置这个控件本身的属性,只要双击这个控件就可以了。 1)设置Treeview控件在ACCESS中的名称属性,将名称设置为“Treeview" 2)设置Imagelist控件在ACCESS中的名称属性,将名称设置为“Image" 2)设置Imagelist控件本身的属性,双击控件后,在弹出来的设置框中选“Images",单击“Insert Picture"按钮,在你电脑中选择你需要的图标。在“Key:”栏中填入“K1”。其他默认设置不用改。3)设置Treeview控件本身的属性,双击控件后,在弹出来的设置框中选“General”,在这个选项面版中有很多项设置,大多数是设置树控件的显示格式,你自己慢慢研究。这里我们将第一项“Style"选7,在第五项“Imagelist"选项中将我们放置的Imagelist控件“Image"选上。这项设置就将图标和树控件联系了起来。 3、写代码将数据填充到树控件中

TreeView绑定SQL数据源

使用TreeView绑定SQL数据源 这里采用了在页面一loading就把数据绑到TreeView的各节点的方式,而不是在展开时再作子节点的绑定,因此在点击父节点时就不会有刷新的感觉了。呵呵,代码并没优化....... aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> 树形节点绑定

.cs文件: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindTree(); } } public void BindTree() { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["CreativeConnectionString"].Connectio

网站运营数据分析心得体会

摘要 网站数据分析是通过观察、调查、实验、测量等结果,通过数据的显示行式把网站各方面情况反映出来,使运营者更佳了解网站的运营情况,便于调整网站的运营策略。网站数据分析是围绕着顾客进行的,公司各部门需要的数据所不一样。高层想知道宏观数据,以便于战略调整;中层想知道些微观数据,便于项目控制与短期战术计划;市场部门想知道哪些广告能带来有价值客户;编辑部门想要知道哪些文章用户喜欢;采购部门了解哪些产品用户经常购买等有了这些数据更合理的安排工作。 第1章前言 很多时候,网站的运营都离不开网站的数据分析,有了网站的数据分析,就可以更好的了解了网站运营的进展.一方面在网站的运营过程中发现问题,并且找到问题的根源,最终通过切实可行的办法解决存在的问题。另一方面基于以往的数据分析,总结发展趋势,为网络营销决策提供支持,特别是在网络营销评价方法中,网站的数据分析是统计数据中发现许多有说服力的问题关键。网站的数据分析无论是对于某项的具体网站运营的营销活动还是网站本身整体的运营效果都有参考的价值,也是网络营销评价体系中最具有说服力的指标。 1.1网站分析的主要作用 网站运营的过程中针对网站分析的作用主要表现在那几个方面呢?其中几个比较重要的作用表现在以下几个方面: 1)及时掌握网站推广的效果,减少盲目性; 2)分析各种网络营销手段的效果,为制定和修正网络营销策略提供依据; 3)通过网站访问数据分析进行网络营销诊断,包括对各项网站推广活动的效果分析、网站优化状况诊断等; 4)了解用户访问网站的行为,为更好地满足用户需求提供支持; 1.1.1网站站内分析的一种认识 网站站内的分析是非常重要的,是打败竞争对手的最好方法,正所谓知己知彼方能百战百胜,要想打败竞争对手就要从开始分析自己着手,可是很多人并不能够很好的分析自己,所谓最大的敌人就是自己说的就是这个道理,分析其他人的网站往往头头是道,但是对于自己网站不管怎么分析都是感觉良好,甚至连自己的网站内链层级都到了五层以上,还不知道自我改善,还在拼命的进行外链建设,原创内容建设,可是搞了很久依然没有任何起色,于是怨天尤人,最后走向失败的边缘。那么如何才能够进行站内分析呢?通常我们可以从以下五个方面进行: 1.看看自己网站的名称 所谓网站名称就是网站的标题,标题代表着你网站的关键词,是你网站的提纲,所以在搜索引擎那里是有很高的权重的,所以标题里面要尽可能的包含自己网站的关键词,而且还要分级好几层的关键词,从而做到主关键词和长尾关键词交相呼应; 2.分析自己的网站关键词

电商运营大数据分析

电商2015年运营大数据分析 一、代运营商基本情况汇总 从事淘宝运营服务的服务商大约1500多家,其中,天猫平台聚集了大约400家运营服务商,主要来源于上海、浙江和广东,而福建、北京次之,为大约2000家天猫店铺提供运营服务。运营服务商达成的交易额,按照店铺数量平均,约为天猫店铺整体平均值的2倍;按照服务商数量平均的交易额均值,约为倍。目前,从业人员大约3万人,20%为专业店铺运营人员。42%的服务商选择聚焦优势类目发展。 按照品牌商对于供应链整合的不同需求,运营服务商可以分为流程型、运营型和技术型。 未来,专业服务市场的专业化发展将推动运营服务市场的规范化。 二、天猫代运营商分布情况汇总 上海86家 广东70家 浙江81家 江苏16家 北京26家 福建28家,厦门12家 其他57家

三、代运营商创始人背景和团队现状 服务商深度调研中,服务商创始人的背景分类按照以下三个分类标准: ①大卖家背景:包括经营过卖家店铺(或独立B2C网站),或者有全面负责卖家店铺运营的经验。 ②传统服务背景包括:包括线下贸易背景,以及传统企业的运营、管理以及投资等背景。 ③IT以互联网从业背景(简称IT互):包括IT技术背景,广告公司从业(含网络推广),以及电子商务公司的渠道转型 四、天猫核心类目分布情况汇总 五、人员结构比例不同,服务效率也不同。 运营能力和技术能力说明服务效率差异: 具备整体托管能力的运营服务商,以运营团队为核心打造“端到端”流程。然而,自建系统(技术和仓储人员占30%以上)推动了运

营服务商的服务规模扩大,立足于平台的精细化运营,从数据的视角,运营服务商的核心能力源于平台层、中间件层和商务层。目前从业人员约3万人,运营人员占20%。 六、在五个专业服务环节有不同程度的外包? 运营服务商与专业服务不同:运营服务基于开放平台,制定和执行店铺的经营策略。专业服务围绕供应链节点的经营策略提供专业化服务。 专业服务外包: 目前,营销推广和视觉设计仍是运营服务的核心能力,运营服务商将IT系统、仓储和客服等环节进行不同程度的外包。 七、运营服务商提供“端到端”的供应链整合服务? 传统的渠道管理:

treeview控件应用

树形结构控件TreeView TreeView是一种 能以树形目录结构形式 显示数据的高级控件, 显示方式类似于 Windows的资源管理 器,能分层展开各结点 的子目录,也能收缩各 结点的子目录。本节将 先介绍TreeView控件 的一些基本概念、属性 与方法,再举例说明 TreeView控件的应用。 TreeView控件概述、属性与方法 1、作用:用于显示Node结点的分层列表。 2、添加到控件箱 菜单命令:工程 | 部件,在部件对话框中选择:Microsoft Windows Common Controls 6.0 3、TreeView控件的属性 (1)属性对话框 用鼠标右键单击TreeView 控件,在弹出式菜单中选择属 性,进入属性设置对话框,该 对话框分为通用、字体、图片 三个选项卡,如图8.6所示。

①样式(Style):返回或设置在Node结点之间显示的线样式,如表8.6所示。 ②鼠标指针(MousePoint):可选择不同鼠标样式,如表8.1所示。 ③线条样式(LineStyle):0-tvwTreeLine 无根结点的树形结构,1-tvwRootLines有根结点的树形结构。 ④标签编辑(LabelEdit):0-tvwAutomatic 自动,1-tvwManual 手工; ⑤图像列表(ImageList):结点图标所用ImageList控件; ⑥边框样式(BorderStyle):0-ccNone无边框,1-ccFixedSingle单边框; ⑦外观(Appearence):0-ccFlat平面效果,1-cc3D 3D效果; ⑧缩进:父子结点的水平间距。 (2)其它属性 ①SelectedItem.Text属性:用于返回或设置当前Node结点的内容。 ②CheckBoxes属性:该属性只能取逻辑值,若取True值,则每个Node结点前出现一个复选框,否则不出现复选框。 4、TreeView控件的方法 (1)Node结点 ①Node结点:是TreeView控件中的一项,它包含图像与文本。 ②Nodes结点集合:包含一个或多个Node结点。 (2)Add方法 ①作用:为TreeView控件添加节点和子节点。 ②定义格式 TreeView1.nodes.Add(Relative,Relationship,Key,Text, Image,SelectedImage) 其中: ◆Relative参数:添加新结点时,其父结点键值Key。添加根结点时,此项为空。 ◆Relationship参数:新结点的相对位置: tvwlast—1:新节点位于同级别所有节点之后; tvwNext—2:新节点位于当前节点之后; tvwPrevious—3:新节点位于当前节点之前; tvwChild—4:新节点成为当前节点的子节点。 ◆Key:Node结点关键字(唯一标识符),用于检索Node结点。同时也作为其新建子结点的Relative值,即新建子结点的Relative=父结点Key。 ◆Text:Node结点文本。 ◆Image:Node结点位图,是关联ImageList控件中位图的索引。

采用HierarchicalDataTemplate数据模板和treeview在MVVM模式下实现行政区划树

摘要:采用HierarchicalDataTemplate数据模板和treeview在MVVM模式下实现行政区划树, 支持勾选。勾选父节点,子节点回全部自动勾选;子节点部分勾选时,父节点半勾选;子节点全部勾选时,父节点勾选。反之亦然。 HierarchicalDataTemplate是分层数据模板,通常用于tree,menu等层级控件。 HierarchicalDataTemplate的ItemsSource属性绑定下一级数据源。 Model为行政区数据实体类,通常访问数据库获取数据并构建对象。 ViewModel为界面的抽象模型,表示界面的数据和行为,是Model和View的桥梁。 view就是界面。 一、代码 1、Model using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

namespace WpfHierarchicalTemplate { public class District { public int ID { get; set; } public string Xzqhdm { get; set; }//行政区划代码 public string Xzqhmc { get; set; }//行政区划名称 public int Level { get; set; }//级别,0全国,1省,2地市,3县,4,乡镇,5,村 public IList Children { get; set; } public District Parent { get; set; } } } 2、ViewModel using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections.ObjectModel; using System.Windows.Media; using System.Windows.Media.Imaging; namespace WpfHierarchicalTemplate { publicclass DistrictNodeViewModel :ModelCommon.NotifyObject { privatebool? isSelected = false; publicbool? IsSelected { get{ return isSelected; } set { isSelected = value; RaisePropertyChanged("IsSelected");

人力资源数据统计

人力资源数据统计 1、现状:员工年龄分布、性别、本地非本地、学历分布、部门分布、职别分布 2、变动:录用率(外聘、内聘)、人员流失率(分部门、分区域、分性别等) 3、培训:内训/外训次数、培训人数、培训计划完成率 4、成本:费用(招聘费、培训费、企业文化活动费用)、工资 5、绩效情况 6、企业文化活动情况 7、劳动纠纷情况 1)人员基本情况,包括学历、工龄、年龄、性别的结构、数量分析; 2)HR分模块的常用数据统计,离职率、调薪情况、招聘到位率等; 3)人均创利、人均产能等分析数据,这是能直接反应人与利润及产能的数据 人力资源常用数据分析 一、招聘分析常用计算公式 1、招聘入职率:应聘成功入职的人数÷应聘的所有人数×100%。 2、月平均人数:(月初人数+月底人数)÷2 3、月员工离职率:整月员工离职总人数÷月平均人数×100% 4、月员工新进率:整月员工新进总人数÷月平均人数×100% 5、月员工留存率:月底留存的员工人数÷月初员工人数×100% 6、月员工损失率:整月员工离职总人数÷月初员工人数×100% 7、月员工进出比率:整月入职员工总人数÷整月离职员工总人数×100% 二、考勤常用的统计分析公式 1、个人出勤率:出勤天数÷规定的月工作日×100% 2、加班强度比率:当月加班时数÷当月总工作时数×100% 3、人员出勤率:当天出勤员工人数÷当天企业总人数×100% 4、人员缺勤率:当天缺勤员工人数÷当天企业总人数×100% 三、常用工资计算、人力成本分析公式 1、月薪工资:月工资额÷21.75天×当月考勤天数 2、月计件工资:计件单价×当月所做件数 3、平时加班费:月工资额÷21.75天÷8小时×1.5倍×平时加班时数 4、假日加班费:月工资额÷21.75天÷8小时×2倍×假日加班时数 5、法定假日加班费:月工资额÷21.75天÷8小时×3倍×法定假日加班时数 6、直接生产人员工资比率:直接生产人员工资总额÷企业工资总额×100% 7、非生产人员工资比率:非生产人员工资总额÷企业工资总额×100% 8、人力资源费用率:一定时期内人工成本总额÷同期销售收入总额×100% 9、人力成本占企业总成本的比重:一定时期内人工成本总额÷同期成本费用总额×100% 10、人均人工成本:一定时期内人工成本总额÷同期同口径职工人数 11、人工成本利润率:一定时期内企业利润总额÷同期企业人工成本总额×100% 四、培训统计分析公式 培训出勤率:实际培训出席人数÷计划培训出席人数×100% HR常用公式分析 1.新晋员工比率=已转正员工数/在职总人数 2.补充员工比率=为离职缺口补充的人数/在职

delphi中TreeView控件使用

DELPHI中利用TreeView控件建立目录树2000-06-26 00:00:00·-·中国计算机报社 p>Rainbow的话:关于TreeView的使用,还可以参看:联合使用TreeView 组件 TreeView是一个显示树型结构的控件,通过它能够方便地管理和显示具有层次结构的信息,是Windows应用程序的基本控件之一。DELPHI虽然具有比较强大的文件管理功能,提供了多个用于文件管理的标准控件,如DriveComboBox、DirectoryListBox、FileListBox等,通过设置它们的属性,使其建立起联系,甚至不用编写一行程序,我们就可以实现在不同的目录之间进行切换,然而这样的目录切换只适用于进行文件的查找定位,而不能方便地进行目录的浏览,例如我们要从c:\windows目录转到c:\program files目录,就必须返回到根目录才能进行切换,而不能象Windows资源管理器那样任意地在不同的目录之间进行浏览与切换。 要实现在不同目录之间任意切换和浏览,还是需要使用TreeView控件,以下程序就利用DELPHI的TreeView控件来建立目录树。 在该程序中采用的各部件以及界面设计如下图所示: 各部件的主要属性设置如下: 部件属性属性值form name caption form1 ‘目录浏览’ drivecommbobox name visible drivecommbobox1 false filelistbox name visible filetype filelistbox1 false fddirectory imagelist name imagelist1 treeview name images 该程序利用DriveCommboBox控件来获得系统具有的驱动器,并以此作为目录树的最上层,利用FileListBox控件,通过设置其Filetype属性为fdDirectory,可以获得所需的子目录,在TreeView控件的OnExpanding事件中将得到的子目录加到该控件的某一节点下。

C_-TreeView控件使用方法

TreeView 控件显示Node 对象的分层列表,每个Node 对象均由一个标签和一个可选的位图组成。 本文主要介绍C# treeView控件中,添加,修改、删除节点等c# treeview控件的使用方法。 其代码如下: 1.private void Form1_Load(object sender, EventArgs e) 2.{ 3. https://www.doczj.com/doc/0314932475.html,belEdit = true;//可编辑状态。 4. 5.,这个结点是根节点。 6. TreeNode node = new TreeNode(); 7. node.Text = "hope"; 8. treeView1.Nodes.Add(node); 9. TreeNode node1 = new TreeNode(); 10. node1.Text = "hopeone"; 11. TreeNode node11 = new TreeNode(); 12. node11.Text = "hopeoneone"; 13. TreeNode node2 = new TreeNode(); 14. node2.Text = "hopetwo"; 15. node1.Nodes.Add(node11);//在node1下面在添加一个结点。 16. node.Nodes.Add(node1);//node下的两个子节点。 17. node.Nodes.Add(node2); 18. 19. TreeNode t = new TreeNode("basil");//作为根节点。 20. treeView1.Nodes.Add(t); 21. TreeNode t1 = new TreeNode("basilone"); 22. t.Nodes.Add(t1);

C# 里TreeView绑定数据库实现分类

C# 里TreeView绑定数据库实现分类 分类:导航控件TreeView/Menu/SiteMapPath 2010-03-22 21:33 45人阅读评论(0) 收藏举报 codes=c#] //从数据库中读取数据 SqlConnection con = new SqlConnection("server=127.0.0.1//sqlexpress;uid=sa;"); con.Open(); con.ChangeDatabase("STggggg"); SqlCommand cmd = new SqlCommand("select * from 产品树where NodeType='f'", con); //https://www.doczj.com/doc/0314932475.html,mandType = CommandType.StoredProcedure; SqlDataAdapter sda = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); try { sda.Fill(ds); } catch { } finally { cmd = null; con.Close(); } //往TreeView中添加树节点 //添加根节点 TreeNode tn = new TreeNode(); tn.Text = "所有产品"; https://www.doczj.com/doc/0314932475.html, = "0";//Name作为ID tn.Tag = "0";//Tag作为RootID tn.ImageIndex = 0; tn.SelectedImageIndex = 0; tv.Nodes.Add(tn);//该TreeView命名为tv tv.SelectedNode = tv.TopNode;

人力资源数据分析指标

集团人力资源部数据分析指标体系详解 人力资源评估中心 目录 目录?错误!未指定书签。 前言某某集团人力资源指标体系框架模型错误!未指定书签。 1 人力资源指标体系框架模型错误!未指定书签。 2 人力资源指标体系框架模型说明?错误!未定义书签。 一人力资本能力错误!未指定书签。 1人员数量指标错误!未指定书签。 1.1 期初人数错误!未指定书签。 1.2期末人数错误!未指定书签。 1.3统计期平均人数?错误!未指定书签。 2员工人数流动指标?错误!未指定书签。 2.1人力资源流动率?错误!未指定书签。 2.2净人力资源流动率?错误!未指定书签。 2.3人力资源离职率?错误!未定义书签。 2.4 非自愿性的员工离职率错误!未指定书签。 2.5自愿性员工离职率?错误!未指定书签。 2.6人力资源新进率?错误!未定义书签。 2.7知识型员工离职率?错误!未指定书签。 2.8内部变动率错误!未指定书签。

3.人力资源结构指标错误!未指定书签。 3.1人员岗位分布?错误!未定义书签。 3.2人员受教育情况分析指标?错误!未定义书签。 3.3 人员年龄、工龄分析指标错误!未指定书签。 3.4人员职称与技术等级结构分布指标?错误!未指定书签。二人力资源运作能力错误!未定义书签。 1 招聘指标?错误!未定义书签。 1.1招聘成本评估指标错误!未定义书签。 1.2录用人员评估指标错误!未定义书签。 1.3招聘渠道分布?错误!未定义书签。 1.4 填补岗位空缺时间?错误!未指定书签。 2培训指标?错误!未指定书签。 2.1培训人员数量指标?错误!未定义书签。 2.2培训费用指标?错误!未指定书签。 2.3 培训效果指标?错误!未定义书签。 3 绩效管理指标错误!未指定书签。 3.1绩效工资的比例错误!未指定书签。 3.2 员工绩效考核结果分布?错误!未定义书签。 4 薪酬指标?错误!未定义书签。 4.1外部薪酬指标?错误!未指定书签。 4.2 内部薪酬指标?错误!未定义书签。 5 劳动关系指标错误!未指定书签。

C# TreeView介绍与使用

C# TreeView中的使用-wwj TreeView组件是由多个类来定义的,TreeView组件是由命名空间"System.Windows.Forms"中的"TreeView"类来定义的,而其中的节点(即Node),是由命名空间"System.Windows.Forms"中的"TreeNode"来定义的。所以当在程序中创建一个TreeView对象,其实只是创建了一个可以放置节点的"容器"。而在这个容器中加入一个节点,其实就是加入了从"TreeNode"类中创建的一个节点对象;同样删除一个节点,也就是删除一个"TreeNode"节点对象。 一. C#操作TreeView组件中的一些常用方法以及具体实现: TreeView组件虽然是一个操作起来比较麻烦的组件,但归根到底,可以总结为三种基本操作:加入子节点、加入兄弟节点和删除节点。掌握了这三种常用操作,对于在编程中灵活运用TreeView组件是十分必要的。下面就分别来加以介绍。 (1).加入根节点、子节点: 所谓根节点是指没有父节点、但具有一个或多个子节点的节点。初始创建根节点的代码如下: TreeNode rootnode = new TreeNode("根节点"); treeView1.Nodes.Add(rootnode); 如果要加入多个根节点。则每个根节点要对应一个TreeNode,然后再创建。 所谓子节点,就是处于选定节点的下一级节点。加入子节点的具体过程是:首先要在TreeView组件中定位要加入的子节点的位置,然后创建一个节点对象,然后利用TreeVeiw类中对节点的加入方法(即:Add ( )方法),加入此节点对象。下面就是在treeView1组件中加入一个子节点的具体代码: //首先判断是否选定组件中的位置 if ( treeView1.SelectedNode == null ) { MessageBox.Show ( "请选择一个节点" , "提示信息" , MessageBoxButtons.OK , https://www.doczj.com/doc/0314932475.html,rmation ) ; } else { //创建一个节点对象,并初始化 TreeNode tmp ; tmp = new TreeNode ( "节点名称" ) ; //在TreeView组件中加入子节点 treeView1.SelectedNode.Nodes.Add ( tmp ) ; treeView1.SelectedNode = tmp ; treeView1.ExpandAll ( ) ; }

游戏运营数据分析

任何一款游戏运营,都是以UED、数据分析为导向,如何开发、运营好一款成功的全球社交游戏,是每个社交游戏产品经理头等大事。用数据说话,是一个简单明快的操作方式,但社交游戏的数据如何分类?海内外关注点有何区别?相信作为每个社交游戏产品经理是非常关心的话题,那么我们就从基础知识入手,逐步梳理出符合运营需求的核心数据环节,抛弃冗长复杂的多类数据,为自己的成功打下扎实的基础。 付费率=付费用户÷活跃用户x100 活跃率=登陆人次÷平均在线人数 ARPU值=收入÷付费用户 用户流失率=游戏当前活跃用户规模÷历史注册总量 同时在线峰值=24小时内同时在线最高达到人数 平均在线=24小时每小时同时在线相加总和÷24小时 中国大陆运营游戏平均同时在线用户=ACU 【有称ACCU】 采用道具收费模式游戏活跃付费用户=APC 活跃付费账户=APA 付费用户平均贡献收入=ARPU 当日登录账号数=UV 用户平均在线时长=TS 最高同时在线人数=PCU 【有称PCCU】 同时在线人数=CCU 付费人数一般是在线人数2~4倍。 活跃用户(玩家):是指通过你的推广代码注册,不属于小号或作弊情况、正常进行游戏一个月以上未被官方删除的用户视为活跃用户。 您推广的两个用户目前还没有通过至少1个月的审查时间,您可以在您的推广纪录中查看您推广用户的注册时间。且这两个用户需要满足上述对活跃玩家的定义才能称为活跃玩家! 活跃付费账户=APA。 每个活跃付费用户平均贡献收入=ARPU。 【活跃天数计算定义】 活跃天指用户当天登陆游戏一定时间、认定用户当天为活跃、活跃天数加1天。 当天0:00-23:59登陆游戏时间2小时以上用户当天为活跃天、活跃天数累积1天。 当天0:00-23:59登陆游戏时间0.5小时至2小时、活跃天数累积0.5天。 当天0:00-23:59登陆游戏时间0.5小时以下、不为其累积活跃天数。 每日:

网站运营核心数据分析列表

第一项:日常性数据(基础) 1.流量相关数据: 1.1IP 1.2PV 1.3在线时间 1.4跳出率 1.5新用户比例 2.订单相关数据: 2.1总订单 2.2有效订单 2.3订单有效率 2.4总销售额 2.5客单价 2.6毛利润 2.7毛利率 3.转化率相关数据: 3.1下单转化率 3.2付款转化率。 简要说明: 1.因为我们已经实现基础的WEB版数据分析系统(有些公司用进销存软件),所以常规性的销售额、利润、利润率,都是可以通过系统实现的。 2.因为直接与商城后台对接,库存管理都已经做进去了,分析数据时候,后台的原始数据都有,设定好各项公式,想要的结果都出来了,这样实现比用软件效率更好,且可以根据各自的需求灵活开发。 3.由于会出现用户今日下单,明日付款,所以订单有效率、销售额、转化率、客单价会动态变化,靠

EXCEL基本是做不来,所以灵活对接系统非常重要,如果没有,也可以参考这方面的需求去开发。第二项:每周数据分析(核心) 用户下单和付款不一定会在同一天完成,但一周的数据相对是精准的,所以我们把每周数据作为比对的参考对象,主要的用途在于,比对上周与上上周数据间的差别,运营做了某方面的工作,产品做出了某种调整,相对应的数据也会有一定的变化,如果没有提高,说明方法有问题或者本身的问题并在与此。 1.网站使用率:IP、PV、平均浏览页数、在线时间、跳出率、回访者比率、访问深度比率、访问时间比率。 这是最基本的,每项数据提高都不容易,这意味着要不断改进每一个发现问题的细节,不断去完善购物体验。 来说明下重要的数据指标: 1.1跳出率:跳出率高绝不是好事,但跳出的问题在哪里才是关键。我的经验,在一些推广活动或投放大媒体广告时,跳出率都会很高,跳出率高可能意味着人群不精准,或者广告诉求与访问内容有巨大的差别,或者本身的访问页面有问题。常规性的跳出率我注于登录、注册、订单流程1-3步、用户中心等基础页面,如果跳出率高于20%,我觉得就有不少的问题,也根据跳出率来改进购物流程和用户体验。 1.2回访者比率=一周内2次回访者/总来访者,意味着网站吸引力,以及会员忠诚度,如果在流量稳定的情况下,此数据相对高一些会比较高,太高则说明新用户开发的太少,太低则说明用户的忠诚度太差,复购率也不会高。 1.3访问深度比率=访问超过11页的用户/总的访问数,访问时间比率=访问时间在10分钟以上的用户数/总用户数,这两项指标代表网站内容吸引力,数据比率越高越好。 2.运营数据:总订单、有效订单、订单有效率、总销售额、客单价、毛利润、毛利率、下单转化率、付款转化率、退货率;每日数据汇总,每周的数据一定是稳定的,主要比对于上上周的数据,重点指导运营内部的工作,如产品引导、定价策略、促销策略、包邮策略等。

HR数据分析及报告

上海汽车人力资源数据分析报告 小组成员:曲舒谭 理欣阿妮尔肖欣竺刘钰婷 一、行业和公司背景介绍 (一)行业背景 自2002年之后,中国汽车行业开始进入爆发式增长阶段,特别是随着私人消费的兴起,轿车需求量开始迅速攀升,并成为推动中国汽车发展的一股重要力量。与此同时,中国在全球汽车产业中的地位也逐渐上升。 到2009年,中国取代美国成为世界上最大的汽车销售市场,结束了由福特公司开始的美国长达一个多世纪的汽车统治地位。不仅如此,2009年,中国的汽车产量超过了日本和美国的总和,自2006年以来,由日本汽车工业保持的世界第一的位置,在2009年也被中国取代。2009年中国汽车工业产销总量分别达到1379.1万辆和1364.48万辆,同比增长48.30%和46.15%。 2010年,在国家扩内需、调结构、促转变等一系列政策措施的积极作用下,我国汽车工业延续2009年发展态势,保持平稳较快发展。汽车产销快速增长,自主品牌市场份额提升,汽车出口逐步恢复,大企业集团产销规模整体提升,市场需求结构进一步优化,汽车工业产业结构调整加快。2010年,汽车产销分别为1826.47万辆和1806.19万辆,同比增长32.44%和32.37%,保持了世界第一的地位。 2011年以来,我国汽车业步伐放缓,汽车市场整体趋势向淡,但同时也是理性回归。2011年1-5月,汽车产销分别为777.97万辆和791.62万辆,同比增长3.19%和4.06%,增幅较2010年同期分别回落52.4和49.19个百分点。中国汽车产业作为世界汽车产业重要的组成部分,未来十年是中国汽车产业的黄金期,汽车产业已经完成了从小到大的过程,正在逐步实现由弱到强的巨大跨越,全球汽车工业将向中国和一些新兴经济体进一步转移,这对中国汽车工业来说,仍是非常难得的历史机遇。 (二)公司背景和现状 上海汽车集团股份有限公司(简称“上汽集团”,股票代码为600104)是国内A股市场最大的整车上市公司。2011年,通过向上海汽车工业(集团)总公司及上海汽车工业有限公司发行股份,购买独立零部件、服务贸易和新能源汽车业务的相关股权和资产,上汽集团实现资产重组整体上市,总股本达到110亿股。上汽集团主要业务涵盖整车(包括乘用车、商用车)、零部件(包括发动机、变速箱、动力传动、底盘、内外饰、电子电器等)的研发、生产、销售,以及汽车服务贸易业务(包括汽车金融)。上汽集团所属主要整车企业包括乘用车公司、商用车公司、上海大众、上海通用、上汽通用五菱、南京依维柯、上汽依维柯红岩、上海申沃

相关主题
文本预览
相关文档 最新文档