Delphi XE8 firemonkey移动应用程序中的StringGrid问题

我正在使用Delphi XE8开发移动应用程序,我正面临着TStringGrid中的一些问题。

  • 我已经在StringGridSelectCell事件中编写了以下代码。
  • Showmessage(StringGrid.Cells [0,ARow]);

    这显示了第一次选定行的正确值。 但是当我试图再次点击选定的行时,这个事件并没有被解雇。 我无法取消选择特定的行。

  • 所以,我试图在OnClick事件中编写此消息。

    var iRowInd:Integer; 开始iRowInd:= StringGrid1.Selected; ShowMessage(StringGrid.Cells [0,iRowInd]); 结束;

  • 这不是在点击第一次,当我第二次点击,它正常工作。 此问题仅适用于Android移动版,不适用于Windows。

  • 后来,我保留了事件代码,然后我又遇到了另一个问题。 当我滚动网格时,它会触发onClick事件。 因此,它正在显示以前选择的Row值。
  • 请为我提供一些解决方案。 并提前致谢。


    让我们用OnClick事件做到这一点:

    procedure TfmMain.StringGrid1Click(Sender: TObject);
    begin
      Caption := 'Selected ROW ID: ' + StringGrid1.Selected.ToString + '. Selected COLUMN ID: ' + StringGrid1.ColumnIndex.ToString + '. Action at: ' + DateTimeToStr(Now);
    end;
    

    属性TStringGrid.Selected将返回ROW ID(从零开始)

    属性TStringGrid.ColumnIndex将返回COLUMN ID(从零开始)


    截至目前,我已经在表单中使用了材料设计。 首先用户需要选择网格。 然后,用户需要点击按钮,然后我继续我的逻辑。 这使得良好的应用程序GUI和使功能也适当。

    链接地址: http://www.djcxy.com/p/50637.html

    上一篇: StringGrid issue in Delphi XE8 firemonkey mobile app

    下一篇: Delphi XE5 Anonymous ShowModal doesn't work as expected