WPF/Silverlight2.0 Binding(数据绑定)机制详解(通用4篇)
WPF/Silverlight2.0 Binding(数据绑定)机制详解 篇1
一个数据绑定可以通过 Binding 对象来描述,其中包含数据源,要绑定的属性路径(Path),目标,目 标属性等,
其中目标属性必须是依赖属性(DependencyProperty)。
为了说明方便,首先定义一个数据类:
public class Person
{
public int Age { get; set; }
public string Name { get; set; }
}
例子1:
public partial class Page : UserControl
{
public Page
{
InitializeComponent();
var persons = new List
();
for(var i=0; i< 5; i++)
{
persons.Add(new Person {Name = “Person ” + i.ToString(), Age = 20 + i});
}
list1.DataContext = persons;
}
}
这里仅指定了 list1 的 DataContext 属性 ,运行后发现页面没有显示。
如果在页面里改一改:
会发现绑定成功。但是数据项显示为默认的 Person 对象 ToString() 后的表示,不太友好。如下图 :
或者,也可以将后台代码改成:
list1.ItemsSource = persons;
而页面 markup 仍然是:
这样也能绑定成功。
这里的原因在于:ListBox 通过 ItemsSource 里的数据去填充数据项,所以直接给这个属性赋值是可 以的。
或者,通过空绑定语法 {Binding},指定 ItemsSource 属性绑定为数据源的对象本身(未指定绑定路 径)。而数据源就是通过 DataContext 获得的,并且这个属性的数据可以从父对象继承下来。
下面给 ListBox 指定列表项的数据模板,让它显示的好看一点:
显示如下:
还可以将 DataTemplate 定义到 App 的 Resource 里去,以便于重用,
App.xaml:
xmlns:x=“schemas.microsoft.com/winfx//xaml”
x:Class=“SilverlightTestApp.App”
Page.xaml:
xmlns=“schemas.microsoft.com/winfx/2006/xaml/presentation”
xmlns:x=“schemas.microsoft.com/winfx/2006/xaml”
Width=“400” Height=“300”>
运行后效果一样。
WPF/Silverlight2.0 Binding(数据绑定)机制详解 篇2
1.配置概述
本次数据库配置将采用数据库系统、数据库日志和数据库应用系统数据分开进行配置,以达到数据库系统优化的目的。
2.营销系统数据库配置示例
2.1 规划数据库空间
根据配置的思想,将数据库系统分三个区。分别是:
rootdbs:informix系统区,我们将一号机的e1_1dbs4分配给它,为了便于记忆我们将该区取个名为yxroot。
具体操作为:
#ln/dev/re1_1dbs4/dev/yx_root
#chowninformix:informix/dev/yx_root
#chmod664/dev/yx_root
logdbs:informix日志区,我们将一号机的e1_1dbs5分配给它,为了便于记忆我们将该区取个别名为yx_log。
具体操作为:
#ln/dev/re1_1dbs5/dev/yx_log
#chowninformix:informix/dev/yx_log
#chmod664/dev/yx_log
workdbs:informix数据区,我们将一号机的e1_1dbs0到e1_1dbs3分配给它,为了便于记忆我们将该区取个别名为yx_work。
具体操作为:
#ln/dev/re1_1dbs0/dev/yx_dbs0
#ln/dev/re1_1dbs1/dev/yx_dbs1
#chowninformix:informix/dev/yx_dbs?
#chmod664/dev/yx_dbs?
2.2Informix系统参数配置
informix系统参数配置文件由如下文件决定:
2.2.1Informix启动环境文件:start_yx文件内容如下:
echo“startdbserveronyx”
INFORMIXDIR=/usr/informix
exportINFORMIXDIR
TBCONFIG=tbconfig.yx
DBDATE=Y4MD/
PATH=$PATH:$INFORMIXDIR/bin:.
exportPATHMAILTBCONFIG
2.2.2Informix配置文件:$INFORMIXDIR/etc/tbconfig.yx
$cd$INFORMIXDIR/etc
$cptbconfig.stdtbconfig.yx
$vitbconfig.yx
修改相应参数:
ROOTPATH/dev/yx_root
ROOTSIZE 1000000
TAPEDEV /dev/null
PHYSFILE 100000
LOGSIZE 100000
LOGFILES3
LOGSIZE100000
MSGPATH/usr/informix/online_yx.log
CONSOLE/dev/console
SERVERNUM0
DBSERVERNAMEXXclic_yx
#注:XX:按各地市名称来取
#福州:fz莆田:pt泉州:qz漳州:zz龙岩:ly
#三明:sm南平:np宁德:nd
USERS 300
TRANSACTIONS300
LOCKS00
BUFFERS20000
TBLSPACES6000
LOGSMAX60
2.2.3Informix网络连接配置文件:$INFORMIXDIR/etc/sqlhosts.yx
该文件只有在C/S模式下和数据库联网才用到(略)
2.3Informix初始化操作:
1. 启动系统环境:
以informix用户登录
启动环境操作:#../start_yx
2. 初始化数据库系统区
操作:tbinit-i
3. 创建数据库日志和工作区
tbspacesCcCdyx_logCp/dev/yx_logCo0Cs870000
tbspacesCcCdyx_workCp/dev/yx_dbs0-o0Cs2000000
tbspacesCayx_workCp/dev/yx_dbs1-o0Cs2000000
4. 移动数据库系统区的日志到新的数据库日志区
a.在logdbs上生成逻辑日志,逻辑日志共取600M,每个日志100M,分6个,
操作如下:
$tbmodeCsy
以下命令重复执行共6次
$tbparamsCaCdyx_log
b.让新加的逻辑日志生效
tbtapeCs#作0级备份
c.迁移日志到新日志上
tbmodeCl
上述命令重复执行共3次
d.删除rootdbs上的逻辑日志
tbtapeCs#作0级备份
tbparamsCdCl1-y
tbparamsCdCl2-y
tbparamsCdCl3Cy
e.迁移物理日志到logdbs上
tbparamsCpCs182000Cdyx_logCy
f.指定备份设备
修改tbconfig.yx文件,将以下参数该为:
TAPEDEV/dev/rct0
LTAPEDEV/dev/rct0
5. 上载数据到数据库的数据(工作)区
dbimportCdyx_workrhdb
6. 构造营销系统数据库的自动起停操作
自动启动:编辑/etc/rc2.d/S99startdbs文件,加入以下行:
echo“startdbserveronyx”
DBDATE=Y4MD
TBCONFIG=tbconfig.yx
PATH=$PATH:$INFORMIXDIR/bin:.
exportINFORMIXSERVER
exportPATHMAILTBCONFIGDBDATE
suinformix-c“$INFORMIXDIR/bin/tbinit”
echo“startdbseveronyxisover”
自动停止:编辑/etc/shutdown.d/shut_dbs文件,写入以下行:
echo“shutdbserveronyx”
DBDATE=Y4MD
TBCONFIG=tbconfig.yx
PATH=$PATH:$INFORMIXDIR/bin:.
exportINFORMIXSERVER
exportPATHMAILTBCONFIGDBDATE
suinformix-c“$INFORMIXDIR/bin/tbmode-ky”
echo“shutdbseveronyxisover”
共2页: 1 [2] 下一页
WPF/Silverlight2.0 Binding(数据绑定)机制详解 篇3
1. CREATE DATABASE database_name [WITH LOG IN “pathname”] 创建数据库。
database_name:数据库名称。
“pathname”:事务处理日志文件。
创建一database_name.dbs目录,存取权限由GRANT设定,无日志文件就不能使用
BEGIN WORK等事务语句(可用START DATABASE语句来改变)。
可选定当前数据库的日志文件。
如:select dirpath form. systables where tabtype = “L”;
例:create databse customerdb with log in “/usr/john/log/customer.log”;
2. DATABASE databse-name [EXCLUSIVE]选择数据库。
database_name:数据库名称。
EXCLUSIVE:独占状态。
存取当前目录和DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。
例:dtabase customerdb;
3.CLOSE DATABASE
关闭当前数据库。
database_name:数据库名称。
此语句之后,只有下列语句合法:
CREATE DATABASE; DATABASE; DROP DATABSE; ROLLFORWARD DATABASE;
删除数据库前必须使用此语句。
例:close database;
4.DROP DATABASE database_name 删除指定数据库。
database_name:数据库名称。
用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK WORK 也不可将数据库恢复。
例:drop databse customerdb;
5.CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …) [IN “pathname”] 创建表或临时表。
table-name :表名称。
column_name:字段名称。
data-type:字段数据类型。
path-name:指定表的存放位置
TEMP用于指定建立临时表;表名要唯一,字段要唯一;有CONNECT权限的用户可建立临时表;创建的表缺省允许CONNECT用户存取,但不可以ALTER。
例:create table user
( c0 serial not null, c1 char (10),
c2 char(2),
c3 smallint,
c4 decimal(6,3),
c5 date
) in “usr/john/customer.dbs/user;
6.ALTER TABLEALTER TABLE table-name
{ADD (newcol_name newcol_type [BEFORE oldcol_name], …) | DROP (oldcol_name, …) | MODIFY (oldcol_name newcol_type [NOT NULL], … )}, … 修改表结构。
table-name:表名称。
newcol_name:新字段名称
newcol_type:新字段类型
oldcol_name:老字段名称
可以使用单个或多个ADD子句、DROP子句、MODIFY子句,但某个字句失败,操作即中止;原字段是NULL,不允许MODIFY为NOT NULL,除非所有NULL字段中均非空,反之可以;ALTER使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句,
例:alter table user
add ( c6 char(20) before c5);
7.RENAME TABLE oldname TO newname修改表名。
oldname:原名称。
newname:新名称。
RENAME使用者是表的拥有者或拥有DBA权限,或被授权;事务中处理过程中不要使用此语句。
例:rename user to bbb;
8.DROP TABLE table-name 删除表。
table-name:表名称。
删除表意味着删除其中所有数据、各字段上的索引及对表的赋权、视图等;用户不能删除任何系统目录表;语句使用者是表拥有者或拥有DBA权限,事务中处理过程中不要使用此语句。
9.RENAME COLUMN table.oldcolumn, TO newcolumn修改字段名。
table.oldcolumn:表名及原字段名称
newcolumn:新字段名称。
语句使用者是表的拥有者或拥有DBA权限或有ALTER权限的用户,事务中处理过程中不要使用此语句。
例:rename column user.c6 to c7;
10. CREATE VIEW view-name column-listCREATE VIEW view-name column-list AS select_statement [WITH CHECK OPTION] 创建视图。
view-name:视图名称。
column-list:字段列表。
select_statement:SELECT语句。
以下语句不使用视图:ALTER TABLE,DROP INDEX,ALTER INDEX,LOCK TABLE,CREATE INDEX, RENAME TABLE;视图将延用基表的字段名,对表达式等虚字段和多表间字段重名必须指明标识其字段名;若对视图中某些字段命名,则所有字段都必须命名;视图中数据类型延用基表中的数据类型,虚字段起诀于表达式;不能使用ORDER BY和UNION子句;对视图中所有的字段要有SELECT权限;事务中处理过程中使用此语句,即使事务回滚,视图也将建立,不能恢复。
例:create view v_user as select * from user where c1 = “B1”;
11. DROP VIEW view-name 删除视图。
view-name:视图名称。
用户可删除自己建立的视图;视图的后代视图也被删除;事务中处理中不要使用此语句。
例:drop view v_user;
12. CREATE INDEXCREATE [UNIQUE/DISTINCT] [CLUSTER] INDEX index_name ON table_name
([column_name ASC/DESC],…) 创建索引。
index_name:索引名称。
table_name:表名称。
column_name:字段名称。
UNIQUE/DISTINCT:唯一索引。
CLUSTER:使表的物理存放顺序按索引排列。
ASC/DESC:升序或降序,缺省升序。
语句执行时,将表的状态置为EXCLUSIVE;复合索引最多包含8个字段,所有字段长度和不得大于120字节;事务中处理过程中使用此语句,即使事务回滚,索引将建立,不能恢复。
例:create cluster index ix_user on user(c5);
共3页: 1 [2] [3] 下一页
WPF/Silverlight2.0 Binding(数据绑定)机制详解 篇4
1、查找以前是否装有mysql
命令:rpm -qa|grep -i mysql
可以看到如下图的所示:
说明之前安装了:
MySQL-client-5.5.25a-1.rhel5
MySQL-server-5.5.25a-1.rhel5
2、停止mysql服务、删除之前安装的mysql
删除命令:rpm -e –nodeps 包名
# rpm -ev MySQL-client-5.5.25a-1.rhel5
# rpm -ev MySQL-server-5.5.25a-1.rhel5
3、查找之前老版本mysql的目录、并且删除老版本mysql的文件和库
find / -name mysql
查找结果如下:
[root@localhost ~]# find / -name mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
删除对应的mysql目录
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql
具体的步骤如图:查找目录并删除
注意:卸载后/etc/my.cnf不会删除,需要进行手工删除
rm -rf /etc/my.cnf
4、再次查找机器是否安装mysql
rpm -qa|grep -i mysql
【WPF/Silverlight2.0 Binding(数据绑定)机制详解】推荐阅读:
数据绑定10-28
Flash MX 数据绑定07-02
数据访问机制05-31
数据调度机制07-04
数据存储机制01-12
数据传输机制07-16
Linux配置MySQL数据库详解linux操作系统11-06
数据库安全机制08-18
数据捕获与数据控制01-18