有关问题的处理 请问相关思想逻辑 怎么实现
问题的处理 请教相关思想逻辑 如何实现
向stringgrid表格里每行为单位输入数字,输到最后一格时能够合理的增加列,即在此单元格输入一次后再一次键盘输入会自动增加一列并赋予此键盘值;如上两种情况,第一种没问题,第二种当单元格里都是0时,怎么同样达到第一种的效果(怎么解决0的问题。。)
------解决方案--------------------
建议响应回车事件,自动增加一列,并且给列的每个单元格赋值。
你的第二个函数里,把数据写得太死了,不利于后期维护。
------解决方案--------------------
好象问题表达得不是很清楚啊
另外
if(StringGrid1->Col == StringGrid1->ColCount -1 && StringGrid1->Cells[StringGrid1->Col][StringGrid1->Row] != "")
这行的两个条件应该先用括号括起来
- C/C++ code
void __fastcall TForm1::FormCreate(TObject *Sender) { StringGrid1->Cells[5][1] = "0"; StringGrid1->Cells[6][1] = "0"; StringGrid1->Cells[7][1] = "0"; StringGrid1->Cells[8][1] = "0"; StringGrid1->Cells[9][1] = "0"; } void __fastcall TForm1::StringGrid1KeyPress(TObject *Sender, wchar_t &Key) { if (StringGrid1->Cells[StringGrid1->Col][StringGrid1->Row].Length() <= 1 && Key > 47 && Key < 58) { if(StringGrid1->Row != 1) { if(StringGrid1->Col == StringGrid1->ColCount -1 && StringGrid1->Cells[StringGrid1->Col][StringGrid1->Row] != "") { StringGrid1->ColCount += 1; StringGrid1->Col ++; } StringGrid1->Cells[StringGrid1->Col][StringGrid1->Row] = Key; if(StringGrid1->Col < StringGrid1->ColCount -1) StringGrid1->Col ++; } if(StringGrid1->Row == 1) { //----------------- } } }
向stringgrid表格里每行为单位输入数字,输到最后一格时能够合理的增加列,即在此单元格输入一次后再一次键盘输入会自动增加一列并赋予此键盘值;如上两种情况,第一种没问题,第二种当单元格里都是0时,怎么同样达到第一种的效果(怎么解决0的问题。。)
------解决方案--------------------
建议响应回车事件,自动增加一列,并且给列的每个单元格赋值。
你的第二个函数里,把数据写得太死了,不利于后期维护。
------解决方案--------------------
好象问题表达得不是很清楚啊
另外
if(StringGrid1->Col == StringGrid1->ColCount -1 && StringGrid1->Cells[StringGrid1->Col][StringGrid1->Row] != "")
这行的两个条件应该先用括号括起来