2016-07-29 6 views
0

Delphi Firemonkey GUI 라이브러리에서 TGrid를 사용하려고하는데 여기 얼굴에 크게 떨어지고 있습니다.Delphi Firemonkey TGrid 사용

이 시점에서 나는 3 개의 셀, 1 개의 문자열 셀 및 2 개의 체크 박스 셀이있는 TGrid를 가지고 있습니다.

현재 실행중인 그리드는 세 개의 개별 열과 함께 표시됩니다. 그러나 아무것도 문자열 셀에 저장되지 않으며 셀을 두 번 클릭하지 않으면 체크 상자 셀이 나타나지 않습니다. 확인란 셀을 클릭하면 확인란이 사라집니다.

저는 여기서 중요한 단계를 놓치고 있다고 생각합니다. TGrid 클래스에 대한 함수, OnGetValueOnSetValue을 찾았습니다. 이것들은 내 문제와 관련이 있어야한다는 것을 알았지 만 문제는 어떻게 사용하는지 전혀 모른다는 것이다. (Sender: TObject; const ACol: Integer; const ARow: Integer; const Value: TValue)

에 대한

각 호출은 내가 다른 컨트롤에 대한 이벤트를 만들 때, 당신이 보낸 사람의 매개 변수로 self를 전달하는 것처럼, 보낸 사람과 가정을 만들고 있어요. ACol과 ARow는 아주 분명합니다. 그러나 나는 TValue 매개 변수를 잃어 버렸습니다. TValue가 무엇인지 알아낼 수 없기 때문입니다. 엠바 카데로는 TValue에 this documentation을 제공하지만 유용하다고는 많이 말하지 않습니다.

이 시점에서, 저는 단순히 값을 표시하고 값을 잃어 버리지 않도록 셀을 가져 오려고합니다. 나는 뭔가를 놓치고 있어야한다는 것을 알고 있지만, 나는 어디를 봐야할지 모른다. 이 웹 사이트의 모든 질문과 Delphi 용 TGrid와 관련된 다른 것들은 시대에 뒤떨어져 있습니다. (저는 2003 년까지 그 모든 것을 보았습니다.)

+0

사이드 노트에 나는 2003 년으로 거슬러 올라가는 이들의 모습을 잘 모릅니다. 당시 Firemonkey도 존재하지 않았습니다. –

+0

아마 파이어 몽키가 아니 었습니다. TGrid와 관련된 것들이 돌아 왔으며 사람들이 언급 한 방법을 찾으려고했을 때 더 이상 존재하지 않습니다. – Zulukas

+0

[이 질문에 대한 답] (http://stackoverflow.com/a/18987589/62576)은 TGrid를 사용하는 방법을 보여주는 Delphi 코드입니다. –

답변

3

나는 결국 이것을 발견했다. this guide.

간단히 말해서, 데이터는 TGrid 내에서 보관되지 않습니다 (거친 거꾸로 보이지만, 이제 이해할 수 있습니다).

OnGetValue 따라서를, 데이터 구조로부터 데이터를 요청

OnGetValue 및 OnSetValue

:

는 데이터 표시에 도착하기 위해, 당신은 TGrid 객체 자체에 대한 두 개의 이벤트 (안 열)가 필요합니다 행과 열을 사용하여 구조 내의 데이터를 찾습니다. 그것은 당신을 위해 GUI에 이것을 넣습니다.

반대로 OnSetValue는 GUI에서 행과 열로 구조 데이터를 제공합니다.

앞으로 누군가를 도울 수 있기를 바랍니다. Embarcadero가 말한 것을 귀찮게하거나, 어딘가에 당신을 가리켜 줘 보려고 귀찮게하지 않았습니다.

가이드에서 설명한 방법과 비슷하게이 두 가지 방법을 정의하십시오.