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看一下

原文地址:https://www.cnblogs.com/carl2380/p/2217740.html