問題タブ [livebindings]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
771 参照

delphi - Delphi のライブバインディング インターフェイス

Delphi FireMonkey プラットフォームを使用して小さなプロジェクトを作成し、新しいライブ バインディング機能を試してみました。TListBox に項目を設定したいので、BOCollection の例TList<IFoo>を使用します。は、例の値と同様の値を持っています。BindList.FormatExpressions[0]

ここで、電話をかけるとBindList.FillList、「名前が見つかりませんでした」という例外が発生します。TList<TFoo>ただし、(の代わりに)オブジェクトのリストを使用するTList<IFoo>と、例外は発生せず、リストは正しく作成されます - 動作します! そのため、ライブバインディングはインターフェイスのプロパティを見つけることができないようです.

IFoo の定義は次のとおりです。

インターフェイスで livebinding を機能させることは可能ですか?

0 投票する
1 に答える
3959 参照

delphi - TDBLookupCombobox FireMonkey

TDBルックアップコンボボックス

FireMonkey でTDBLookupCombobox機能を再現するのを手伝ってくれる人はいますか?

0 投票する
1 に答える
1768 参照

delphi - ライブバインディングを使用して blob フィールドを TImage コントロールにバインドする方法は?

Delphi XE2 を使用して VCL win32 アプリケーションを作成しています。Delphi XE2 はライブ バインディングをサポートしています。サンプルの Biolife.xml を TClientDataSet インスタンスに読み込みます。

TEdit コントロールをデータセットの文字列フィールドにバインドできます: Species Name:

次に、Graphic フィールドを TImage コントロールにバインドしようとしています。

どうやら、うまくいきません。そうすることは可能ですか?

0 投票する
1 に答える
3686 参照

delphi - TCheckBox.Checkedに基づいてTEdit.PasswordCharを制御するライブバインディング式を作成するにはどうすればよいですか?

フォームには、TCheckBoxとTEditの2つのコントロールがあります。

これを実行するためにライブバインディングを使用したい:

  1. TCheckBox.Checked = Trueの場合、TEdit.PasswordChar=*を設定します。
  2. TCheckBox.Checked = Falseの場合、TEdit.PasswordChar =#0を設定します

これを実現するためにControlExpressionを作成するにはどうすればよいですか?カスタムメソッドの登録を回避できれば素晴らしいと思います。

0 投票する
1 に答える
925 参照

delphi - Livebindings BindScope 通知

ライブ バインディングを開始するために、現在いくつかのデモ コードを作成しています。しかし、ある時点で、ドキュメントが見つからないという問題があります。

複数の TEdit を持つフォームがあり、それらを TBindScope でオブジェクトのプロパティにバインドしたいと考えています。BindScope と BindingList をセットアップすると、BindExpression1.Active := true; を実行した瞬間にすべてが機能します。

しかし今、私はオブジェクトのプロパティを変更し、更新について BindingList に通知したいと考えています。

これが問題です。BindingList に通知する方法が見つからないため、値を更新します。しかし、BindExpression1.Evaluate を実行すると、値が同期されます。

使ってみた

  • BindingList.Notify(BindScope, 'Object.Property')
  • BindingList.Notify(BindScope, 'オブジェクト')
  • BindingList.Notify(オブジェクト、「プロパティ」);
  • BindingList.Notify(BindScope, 'プロパティ');
  • BindingList.Notify(BindScope, 'アクティブ');

通知には何も機能していないようです。

PS : この場合、BindScope は必ずしも必要ではないことはわかっています。しかし、理解のためのデモコードなので、BindScope とどのように連携するか知りたいです。

ありがとう。

0 投票する
1 に答える
1070 参照

delphi - Delphi XE2 LiveBinding 式でブール演算子を使用できますか?

TCheckBox の Live Binding ソース式を作成する予定です。

コードを実行すると、例外が表示されました。

Delphi XE2 Live Binding はブール演算子をサポートしていますか?

0 投票する
1 に答える
638 参照

sql-server - Delphi XE 3 LiveBindings AutoInc SQL Server

SQL Server への LiveBinding を備えた Delphi XE3 Firemonkey アプリがあります。グリッド上のすべてのデータを接続して表示できます。SQL の「ID フィールド」(より一般的には AutoInc として知られている) であるフィールド (「id」) があります。

レコードを追加しようとすると、「フィールド 'id' には値が必要です」というメッセージが表示されます。

これまでは、必須フィールドのブール値をオフにすることでこれを修正していました。(たとえば、DBISAM では、データベース自体のフィールドを不要にし、そこに到達すると DB エンジンが入力しますが、MSSQL で ID フィールドを不要にすることはできません。)

TField 自体の要件をオフにしましたが、効果はありません。

0 投票する
3 に答える
5997 参照

delphi - Firemonkey livebindings カスタム グリッド列

TGrid にいくつかのカスタム列を追加しようとしました。たとえば、TCalendarEdit で構成される列を DB にライブバインドします。
このようなものを実装する方法として、2 つの方法を考え出しました。

  1. CalendarEdit をすべての行に配置します。
    問題は次のとおりです。カスタム TCalendarEdit 列を作成 してグリッドに配置できます が、それをデータセット にライブバインドする と、デフォルトの文字列列ビューにドロップされます!
    TDateColumn = class(TColumn)
    protected
    function CreateCellControl: TStyledControl; override;
    end;
    function TDateColumn.CreateCellControl: TStyledControl;
    begin
    Result := TDateCell.Create(grid);
    Result.Parent := grid;
    end;


    procedure TForm1.FormCreate(Sender: TObject);
    var
    cec: TDateColumn;
    begin
    cec:=TDateColumn.Create(grid1);
    grid1.AddObject(cec);
    end;

    LinkGridToDataSource1.Columns.Items[LinkGridToDataSource1.Columns.Count-1].MemberName:='date';

  2. グリッドセルにコントロールを描画し、それをクリックして破棄し、グリッド上の他の場所をクリックします(データをグリッドに書き込みます)。
    問題は次のとおりです:セルOnClickの座標とサイズを取得するにはどうすればよいですか?

ありがとうございました。

0 投票する
0 に答える
840 参照

delphi - TPrototypeBindSource で UI を設計した後、実行時に TBindSourceDB に切り替える方法は?

XE3 で LiveBinding を試しています。

を使用していくつかのコントロールを含むフォームを設計しましたTPrototypeBindSourceTPrototypeBindSourceコントロールは、ビジュアル デザイナーを使用してフィールドにバインドされます。設計時にコントロールのランダム データを確認でき、レイアウトに満足しています。

次に、UI コントロールをTClientDataSetインスタンスのライブ データ ストアにフックします。それを行う簡単な方法はありますか?

イベントに参加してみましたTPrototypeBindSource.OnCreateAdapterが、 に適したものが見つかりませんでしTBindsourceAdapterTDataset。はありますが、TBindSourceDBにフックできませんTBindSourceAdapter

私が見つけた唯一の解決策は、 からTPrototypeBindSourceへのリンクを再割り当てTBindSourceDBする必要があることです。そうすると、設計時にランダム データが失われます。

プロトタイプデータを使用してデザインタイムを作成し、データセットのデータを使用してランタイムを作成する方法はありますか?

0 投票する
1 に答える
1062 参照

delphi - XE3 Visual LiveBinding: TSpinBox と TTrackBar (FireMonkey) 間の双方向接続

SP1 で Delphi XE3 を使用しています。FireMonkey デスクトップ アプリケーションを作成し、TSpinBox と TTrackBar をメイン フォームにドロップしました。Visual Livebindings を使用して、TSpinBox と TTrackBar の「Value」プロパティを接続しました。IDE は、それらを接続するための「TLinkControlToProperty」を自動的に作成しました。TTrackBar のスライダを動かすと、TSpinBox の値が変化します。しかし、TSpinBox の値を変更しても、TTrackBar の値は更新されません。

これを LiveBinding を使用して双方向接続に変更するにはどうすればよいですか? 私の目的は、TSpinBox の「値」が変更されたときに、TTrackBar の「値」プロパティを変更することです。さらに、「TSpinBox」の「OnChange」イベントを使用しないソリューションに興味があります。「TSpinBox」の子孫を派生させずにこれは可能ですか?