没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
AdvStringGrid使用方法(1)
本文简单的介绍了TAdvStringGrid控件的一些常用的属性事件和方法,主要用于统计数据和设计比较复杂的表格!核心部分:合并单元格的几个函数和过程!
1.可否进行编辑
设置Options中goEditing设置为true。
2.点击鼠标时直接进入编辑,或允许、不允许改变行或列宽等特性,都可以在MouseActions中设置。
3.设置Grid中,某一列的数据格式,预定义的格式有:
enum TEditorType { edNormal, edSpinEdit, edComboEdit, edComboList, edEditBtn, edCheckBox, edDateEdit, edDateEditUpDown, edTimeEdit, edButton, edDataCheckBox, edNumeric, edPositiveNumeric, edFloat, edCapital, edMixedCase, edPassword, edUnitEditBtn, edLowerCase, edUpperCase, edFloatSpinEdit, edTimeSpinEdit, edDateSpinEdit, edNumericEditBtn, edFloatEditBtn, edCustom, edRichEdit, edNone, edUniEdit, edUniComboEdit, edUniComboList };
通过OnGetEditorType()事件进行设置,例如:
void __fastcall TForm1::editgridGetEditorType(TObject *Sender,int aCol, int aRow, TEditorType &aEditor)
{
switch (aCol) {
case 1:aEditor=edComboList; break; //设置第一列为ComboBox类型输入
case 2:aEditor=edEditBtn; break; //设置第二列为EditBtn类型输入,弹出一个选择框
case 3:aEditor=edSpinEdit; break; //设置第三列为SpinEdit类型输入
case 4:aEditor=edDateEdit; break; //设置第四列为日期型输入,弹出DatetimePicker。
}
}
4.TAdvStringGrid中每一种格式的输入与输出都要对应,否则载入时不能识别(因为各种类型的文件之间存储格式是不一样的)。例如:
如果保存时使用TAdvStringGrid::SaveToFile(),那么载入时就要相应的使用TAdvStringGrid::LoadFromFile();其它对应如下:
TAdvStringGrid:: LoadFromBinFile();??TAdvStringGrid:: SaveToBinFile();
TAdvStringGrid:: LoadFromCSV ();??TAdvStringGrid:: SaveToCSV();
等等。
5.增加edComboEdit和edComboList的下拉列表:
方法:
本文简单的介绍了TAdvStringGrid控件的一些常用的属性事件和方法,主要用于统计数据和设计比较复杂的表格!核心部分:合并单元格的几个函数和过程!
1.可否进行编辑
设置Options中goEditing设置为true。
2.点击鼠标时直接进入编辑,或允许、不允许改变行或列宽等特性,都可以在MouseActions中设置。
3.设置Grid中,某一列的数据格式,预定义的格式有:
enum TEditorType { edNormal, edSpinEdit, edComboEdit, edComboList, edEditBtn, edCheckBox, edDateEdit, edDateEditUpDown, edTimeEdit, edButton, edDataCheckBox, edNumeric, edPositiveNumeric, edFloat, edCapital, edMixedCase, edPassword, edUnitEditBtn, edLowerCase, edUpperCase, edFloatSpinEdit, edTimeSpinEdit, edDateSpinEdit, edNumericEditBtn, edFloatEditBtn, edCustom, edRichEdit, edNone, edUniEdit, edUniComboEdit, edUniComboList };
通过OnGetEditorType()事件进行设置,例如:
void __fastcall TForm1::editgridGetEditorType(TObject *Sender,int aCol, int aRow, TEditorType &aEditor)
{
switch (aCol) {
case 1:aEditor=edComboList; break; //设置第一列为ComboBox类型输入
case 2:aEditor=edEditBtn; break; //设置第二列为EditBtn类型输入,弹出一个选择框
case 3:aEditor=edSpinEdit; break; //设置第三列为SpinEdit类型输入
case 4:aEditor=edDateEdit; break; //设置第四列为日期型输入,弹出DatetimePicker。
}
}
4.TAdvStringGrid中每一种格式的输入与输出都要对应,否则载入时不能识别(因为各种类型的文件之间存储格式是不一样的)。例如:
如果保存时使用TAdvStringGrid::SaveToFile(),那么载入时就要相应的使用TAdvStringGrid::LoadFromFile();其它对应如下:
TAdvStringGrid:: LoadFromBinFile();??TAdvStringGrid:: SaveToBinFile();
TAdvStringGrid:: LoadFromCSV ();??TAdvStringGrid:: SaveToCSV();
等等。
5.增加edComboEdit和edComboList的下拉列表:
方法:
TAdvStringGrid:: ClearComboString(void); //清除已有了下拉列表
TAdvStringGrid:: AddComboString(AnsiString S);
TAdvStringGrid::Combobox->Sorted = true;
通过Combobox可以访问内置的Combo类型的控件的属性和方法。
6.增加edCheckBox界面处理
在Grid中数据载入之后,使用:
TAdvStringGrid:: void __fastcall AddCheckBox(int ACol, int ARow, bool State, bool Data)方法来添加CheckBox界面处理.
例如:
for(i=1;i<editgrid->RowCount;i++)
editgrid->AddCheckBox(5,i,FALSE,FALSE);
7.通过TAdvStringGrid:: SpinEdit对象,可以访问内置的SpinEdit类的特性;
同样的道理,通过其它一些内置的对象,可以访问这些类的属性,执行这些类的方法。
8.TAdvStringGrid中的排序问题:
首先设置排序参数:通过TAdvStringGrid:: SortSettings属性(发布TSortSettings类为一个属性),通过这个属性设置
然后调用TAdvStringGrid::QSort()方法应用SortSettings。
排序方向: SortSettings-> Direction=enum {sdAscending, sdDescending};
排序列:SortSettings->Column = 3;
9.TAdvStringGrid::AutoSize属性,自动设置列宽,不推荐使用,自动调整后,真的很难看。
10.多行显示
bool TAdvStringGrid:: Multilinecells属性,是否支持多行显示,如果支持的话,可以用”#13”作为分隔符插入多行字符串,用多行显示。
折中的方法,可以用WordWrap来支持多行显示
一般在设置和取消多行显示时,同时,对TAdvStringGrid::DefaultRowHeight进行设置,将有良好的效果。
11.欲设置某些行或列为Fixed风格的显示,使用OnIsFixedCell()事件句柄来处理,调用TAdvStringGrid:: Repaint()方法来使设置生效。
例如:
TAdvStringGrid:: AddComboString(AnsiString S);
TAdvStringGrid::Combobox->Sorted = true;
通过Combobox可以访问内置的Combo类型的控件的属性和方法。
6.增加edCheckBox界面处理
在Grid中数据载入之后,使用:
TAdvStringGrid:: void __fastcall AddCheckBox(int ACol, int ARow, bool State, bool Data)方法来添加CheckBox界面处理.
例如:
for(i=1;i<editgrid->RowCount;i++)
editgrid->AddCheckBox(5,i,FALSE,FALSE);
7.通过TAdvStringGrid:: SpinEdit对象,可以访问内置的SpinEdit类的特性;
同样的道理,通过其它一些内置的对象,可以访问这些类的属性,执行这些类的方法。
8.TAdvStringGrid中的排序问题:
首先设置排序参数:通过TAdvStringGrid:: SortSettings属性(发布TSortSettings类为一个属性),通过这个属性设置
然后调用TAdvStringGrid::QSort()方法应用SortSettings。
排序方向: SortSettings-> Direction=enum {sdAscending, sdDescending};
排序列:SortSettings->Column = 3;
9.TAdvStringGrid::AutoSize属性,自动设置列宽,不推荐使用,自动调整后,真的很难看。
10.多行显示
bool TAdvStringGrid:: Multilinecells属性,是否支持多行显示,如果支持的话,可以用”#13”作为分隔符插入多行字符串,用多行显示。
折中的方法,可以用WordWrap来支持多行显示
一般在设置和取消多行显示时,同时,对TAdvStringGrid::DefaultRowHeight进行设置,将有良好的效果。
11.欲设置某些行或列为Fixed风格的显示,使用OnIsFixedCell()事件句柄来处理,调用TAdvStringGrid:: Repaint()方法来使设置生效。
例如:
剩余7页未读,继续阅读
资源评论
yang_wen_zhu
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机专业毕业设计,基于Vue + ECharts的数据可视化系统的设计与实现
- Word1_20240424_000136.docx
- 图片网站图片爬虫Python代码
- 同城佳俪
- MATLAB实现LSTM神经网络预测数值(调用MATLAB自带lstm工具箱)
- %E5%B0%8F%E5%B0%8F%E5%A3%B0%E6%98%8E 3.zip
- jdk和idea安装使用教程
- python绘图时渐变的处理-以一个扇形图的渐变为例.html
- 基于STC15F104W的学习型无线遥控解码原理图+程序+说明和433程序+说明
- RIME-BP霜冰优化BP神经网络多特征分类预测(Matlab实现完整源码和数据)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功