WEB开发网
开发学院软件开发Delphi TAdvStringGrid控件使用技巧 阅读

TAdvStringGrid控件使用技巧

 2010-12-15 08:05:48 来源:WEB开发网   
核心提示:TAdvStringGrid控件的一些常用的属性事件和方法,主要用于统计数据和设计比较复杂的表格!核心部分:合并单元格的几个函数和过程!1.可否进行编辑 设置Options中goEditing设置为true, 2.点击鼠标时直接进入编辑,TAdvStringGrid控件使用技巧,或允许、不允许改变行或列宽等特性,都可以

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属性,自动设置列宽,不推荐使用,自动调整后,真的很难看。

1 2 3 4  下一页

Tags:TAdvStringGrid 控件 技巧

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接