2012-03-22 10 views
0

私は2つのテーブルuserとcompanyを持っています。私は会社テーブルにあるすべての企業をリストするコンボボックスを持っています。私の質問は、会社名を表示するためにfoxproでデータバインディングを使用する方法です。情報をデータベースに保存すると、会社IDを保存するだけで済みます。私は私のユーザテーブルにある会社IDから、表示のために同じ、私は会社名を表示したいと思います。 私はプロパティを使用してみました:私は何かが欠けている、controlsourceと表示元のプロパティを表示するにはどうすればよいですか?

CmbCompany.controlesource = myTable.companyID 
cmbCompany.displaysource = myTable.companyName 

が、これは動作しません!

答えて

3

コンボのRowSourceを、最初の列に表示するデータと2番目の列に格納する値を配置するように設定します。 BoundColumnを2に設定し、IDフィールドが数値または整数の場合は、BoundToを.Tに設定します。

私は、プロパティシート内のすべてのこれを行うだろうが、このような何か:

RowSourceType = 6-Fields 
RowSource = Company.CompanyName, ID 
BoundColumn = 2 
BoundTo = .T. 
ControlSource = MyTable.CompanyID 

タマル

+0

@Joe、タマルの答えに加えて、IDを表示する清潔に保つとしないように、プロパティ "ColumnWidths"があります。 "120,0"のように設定すると、最初の列は120ピクセル(名前を表示する)で、2番目の列幅は0ピクセルであるため、誰も気にすることのないIDは表示されません。 – DRapp

+0

ありがとう、これはうまく動作します。あなたは最高です ! – joe

+0

私はこの例でColumnWidthを必要としませんでした。なぜなら、ColumnCountを1にして余分な列が自動的に隠されたからです。 –

関連する問題