读书人

怎么在DBgride实现选中几个连续的单元

发布时间: 2012-03-05 11:54:01 作者: rapoo

如何在DBgride实现选中几个连续的单元格并复制到剪切板中去?
如题?
DBgride可以选择一行,怎么实现选择一行里的几个连续的单元格,然后通过ctrl+c复制到剪切板?
有现成的代码的帮下吧,谢谢各位了

[解决办法]
现场的没有,要写代码的吧
判断每个单元格状态, TGridDrawState
if( State.Contain(gdSelected) )
{
...
}
[解决办法]
这个是复制整行到剪切板的,你如果对格式有要求可以对那个字符串格式化一下.

C/C++ code
#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() );   } }} 

读书人网 >C++ Builder

热点推荐