项目开发过程中,经常有一些需要以列表或类似列表的形式显示的内容,我暂且称它们为ObjectList,Object List 是一个对象的列表,可以有以下特点:
- 从ControlBase继承
- 包含一个网格
- 网格是一系列相同的对象
- 可以使用参数指定,是否包含“选中”列
- 都有m_DataSource
- 都要引用WinGrid 和DataSource名称空间
- 都有Init,BuildGrid方法
- BuildGrid方法建立DataSource的列
- 成员:
- Grid1
- m_DataSource
- 方法:
- UpdateCurrentRowText
- Init
- BuildGrid
- Clear
- LoadData 这个方法是继承类中的,作用是根据某些条件加载对象列表。
- 属性:
- ActiveObject [ObjectData],如ActivePost,类型是PostData。
- SelectedObjectes, [List<ObjectData>] 如SelectedPosts,类型是List<PostData>。返回的是“选中”列表中被“勾选”的对象的列表。
- ObjectList [List<ObjectData>] 如PostList,类型是List<PostData>,把这个对象列表传递过来之后,本控件就把这些对象都加载到列表中。
- 事件:某一列被激活时发生、某一列被双击时发生、某一列被选中或者取消选中时发生。
- //当某一行被激活的时候发生
public event System.EventHandler<PostEventArgs> AfterRowActive; //Post是对象名称 - //双击一行时发生的事件
public event System.EventHandler<PostEventArgs> DoubleClickOnRow; - //某一行被选中或者取消选中时发生
public event System.EventHandler<PostEventArgs> AfterRowSelected
- //当某一行被激活的时候发生
- 名词:
- 选中行:行前面的“选中”列的值为True的行,称为选中行
- 激活行:光标所停留的那一行,称为激活行。