读书人

StringGrid 有关问题

发布时间: 2013-07-09 09:50:48 作者: rapoo

StringGrid 问题
如何实现两行StringGrid的内容互换啊?我想实现比较StringGrid某一栏属性的大小,然后根据这一栏,各个行重新排序。大家有没有办法实现整行之间的互换啊?

还有DBGrid能人为的往某行某列填数据,让其显示吗?
[解决办法]
互换用中间变量替换可以吧
String str
str = StringGrid1->Cell[0][1];
StringGrid1->Cell[0][1] = StringGrid1->Cell[1][1];
StringGrid1->Cell[1][1] = str;


DBGrid就是dataset操作
[解决办法]
1. TStringGrid 本身已提供 MoveRow 的功能,这样使用:

class TMyStringGrid: public TStringGrid
{
public:
void __fastcall MoveRow(int FromIndex, int ToIndex)
{
TStringGrid::MoveRow(FromIndex, ToIndex);
}
};

// ---------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// 将第2行移动到第4行
((TMyStringGrid *)StringGrid1)->MoveRow(1, 3);
}


2. DBGrid 想人工填充数据,使用内存表就行了,简单说就是利用 TClientDataSet,具体的代码可以 Google 一下。
[解决办法]
TStringGrid::MoveRow(FromIndex, ToIndex); 有这个方法的啊 莫非你的版本是6?
[解决办法]
DBGrid 可以透 TClientDataSet 物件中任意填充...必先 LockType 置 ltBatchOptimistic 才能更......

读书人网 >C++ Builder

热点推荐