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 才能更......