如何在DBgride实现选中几个连续的单元格并复制到剪切板中去?
如题?
DBgride可以选择一行,怎么实现选择一行里的几个连续的单元格,然后通过ctrl+c复制到剪切板?
有现成的代码的帮下吧,谢谢各位了
[解决办法]
现场的没有,要写代码的吧
判断每个单元格状态, TGridDrawState
if( State.Contain(gdSelected) )
{
...
}
[解决办法]
这个是复制整行到剪切板的,你如果对格式有要求可以对那个字符串格式化一下.
#include <Clipbrd.hpp>void __fastcall TForm1::N1Click(TObject *Sender){if(!DBGrid1->DataSource->DataSet->IsEmpty()) { if(DBGrid1->SelectedRows->Count >0) { String FieldStr; for(int i=0;i<DBGrid1->DataSource->DataSet->FieldCount ;i++) { //ShowMessage(DBGrid1->DataSource->DataSet->FieldList->Fields[i]->AsAnsiString ); FieldStr = FieldStr + DBGrid1->DataSource->DataSet->FieldList->Fields[i]->AsAnsiString; } Clipboard()->SetTextBuf(FieldStr.c_str() ); } }}