经典论坛's Archiver

gugudotnet 发表于 2008-6-18 16:06

为什么不做些最常用的东西,都在做那些花花绿绿的东西.....

刚接触sl,看到大家都在用sl做图片呀,视频呀什么的,为什么不做些开发中可能会常用的东西呢?
希望哪位大侠能花点时间写写数据绑定那一块的东西,不要像李会军翻译的那些他那个数据就一列,太粗糙了,要这样的:
比如,用datagrid或listbox控件来显示数据,就像.net里的那种,有好几列,每列正好对应一个对象的一个属性,
然后,在header上点击的话还能进行记录排序.拖动header的话还能调换列与列之间的顺序.这些不是很重要吗?而且也能系统的展示sl的用法.
就像下面这样:
------------------------------------------------
用户名      密码       地址        email
------------------------------------------------
user01     123456    addr0001    [email]u01@sfs.com[/email]
user02     6546321   addr0002    [email]safsd@sdf.com[/email]
user03     sfsdfsf   dffsfsdf    [email]sfsf@df.com[/email]
------------------------------------------------
谢谢!

cncolder 发表于 2008-7-5 17:58

定义一个User类
要具备4个属性Name Password Address Email
public class User
{
    public string Name {get; set;}
    ...
}

自从SL2b2版开始, 官方建议绑定的数据类型是ObservableCollection<T>
这是个比List<T>更高级的类型:
var source = new ObservableCollection<User>();

假如你已经有了一个名字叫"dg"的DataGrid, 并且设置了AutoGenerateColumns="True"
绑定数据是如此的简单:
dg.ItemSource = source;

你要三行, 这好办:
var user1 = new User()
{
    Name = "user01",
    Password = "123456"
    ...
};
var user2 = ...
var user3 = ...

source.Add(user1);
source.Add(user2);
source.Add(user3);

OK~ 需要有什么更改, 只需要操作source就行了.

想要允许用户更改列的显示顺序? 这个简单 CanUserReorderColumns="True"
还有行排序? 这个默认就有了, 我反倒不知道如何关掉...

某程程度上讲, SL2里的数据绑定, 已经没什么可说的了, 因为基本都是一步到位!

[[i] 本帖最后由 cncolder 于 2008-7-5 18:02 编辑 [/i]]

Kennytian 发表于 2008-7-17 23:50

十分感谢2楼的兄弟!

我有一个小问题跟着问一下,为什么在DataGrid后面会多出空白的一列?

BTW: Silverlight Beta 2

HBrO 发表于 2008-7-18 02:50

这种提问方式......

Kennytian 发表于 2008-7-18 08:55

我是看了2楼的例子,觉得非常好,我也跟着做了一个DataGrid显示数据的例子.

但为什么在DataGrid后面会多出空白的一列?

页: [1]



Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.