• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
张纯睿
博客园    首页    新随笔    联系   管理    订阅  订阅

c# xptable NET功能强大的表格控...

http://www.51ascx.com/74.html

已经下载到 下载 F:\SoftWare-new\XP-table

这是一个开源控件,大家可以自己扩展

用DEMO中的DLL或自己用源代码生成都可以

1,在工具箱中添加XPTable.dll,方法:打开VS2008--->点击'工具箱'--->选中一项,如:'常规'这项--->单击右键--->在弹出的菜 单中选'选择项'--->在弹出的窗口中选择'浏览'--->找到'XPTable.dll'这个文件 --->按确定就添加上了,还是老方法

XPTable包含下面的组件:
1. Table,
2. ColumnModel 和它的 Columns,
3. TableModel 和它的 Row 和 Cell,
4. Renderer
5. Editor

 


然后,拖动Table, ColumnModel 和 TableModel到Form上,设置Table的ColumnModel 和 TableModel属性,添加Column到ColumnModel,添加Row 和 Cell到TableModel.

或者,直接使用代码设定:

C# Code复制内容到剪贴板
  1. table1.ColumnModel = columnModel1;  
  2.         table1.TableModel = tableModel1;  
  3.         // add some Columns to the ColumnModel  
  4.         columnModel1.Columns.Add(new TextColumn("Text"));  
  5.         columnModel1.Columns.Add(new CheckBoxColumn("CheckBox"));  
  6.         columnModel1.Columns.Add(new ButtonColumn("Button"));  
  7.         // add some Rows and Cells to the TableModel  
  8.         tableModel1.Rows.Add(new Row());  
  9.         tableModel1.Rows[0].Cells.Add(new Cell("Text 1"));  
  10.         tableModel1.Rows[0].Cells.Add(new Cell("CheckBox 1", true));  
  11.         tableModel1.Rows[0].Cells.Add(new Cell("Button 1"));  
  12.         tableModel1.Rows.Add(new Row());  
  13.         tableModel1.Rows[1].Cells.Add(new Cell("Text 2"));  
  14.         tableModel1.Rows[1].Cells.Add(new Cell("CheckBox 2", false));  
  15.         tableModel1.Rows[1].Cells.Add(new Cell("Button 2"));  

Table是一个简单的对象,事实上,它并不知道如何显示数据。而是,分别使用ColumnModel 和TableModel 控制列和单元等等。 Table的主要角色是管理绘制操作,传递事件给Renderer 和 Editor,以控制其行为。

ColumnModel

ColumnModel包含一个列的集合,这些列会在Table上显示。它会跟踪创建到指定列的CellRenderer 或 CellEditor。


TableModel

它包含即将显示的Row集合。


Renderers

就象上面说的那样,Table 并不知道如何绘制单元或列头。想法,它使用称为Renderers 的对象绘制这些。

Table 使用两个不同类型的Render,一个是Renderers: CellRenderer 绘制Cell,还一个HeaderRenderer绘制Column Header。

CellRenderers

下面是所有XPTable提供的CellRenderer:
* ICellRenderer - Exposes common methods provided by Cell renderers.
* CellRenderer - Base class for all Cell renderers.
* TextCellRenderer - A CellRenderer that draws Cell contents as strings.
* ButtonCellRenderer - A CellRenderer that draws Cell contents as Buttons.
* CheckBoxCellRenderer - A CellRenderer that draws Cell contents as CheckBoxes.
* ImageCellRenderer - A CellRenderer that draws Cell contents as Images.
* NumberCellRenderer - A CellRenderer that draws Cell contents as numbers.
* ProgressBarCellRenderer - A CellRenderer that draws Cell contents as a ProgressBar.
* DropDownCellRenderer - Base class for CellRenderers that draw Cell contents like ComboBoxes.
* ComboBoxCellRenderer - A CellRenderer that draws Cell contents as a ComboBox.
* ColorCellRenderer - A CellRenderer that draws Cell contents as Colors.
* DateTimeCellRenderer - A CellRenderer that draws Cell contents as a DateTime.

上面的代码可以完成一个小实例

图片

可以下载源代码和DEMO看一下

posted @ 2011-10-19 15:36  张纯睿  阅读(840)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3