WPF/Silverlight2.0 Binding(数据绑定)机制详解

2024-11-30

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

上一篇:题库(国家局罚没烟管理办法)下一篇:《概论》实践课调查报告会发言稿