問題タブ [tlistview]

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 投票する
2 に答える
767 参照

delphi - Tlistview に追加する前に、TListItem の重複を確認してください

records要約したいリストがありますTListView

レコードの構造は次のとおりです。

レコードには、SourceTable / TargetTable の複数のインスタンスと、Source/Target Field の単一インスタンスが存在する場合があります

TListView各 SourceTable\TargetTable ペアを要約 する in vsReport スタイルを作成したいと思います。

理想的には、次のことをしたいと思います。

つまり、スタンドアロンの TListItem を作成し、それがまだ存在しないことを確認してから、TListView に追加します。ただし、の割り当てで壊れますLI.Caption-本質的に割り当てるものは何もありません。問題の少なくとも一部は(nil)

TListItem の通常の作成は使用することですLI := lvMigration.Items.Add;が、これは私のユースケースには役立ちません。上記が行われているドキュメントが見つからないようです。

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

listview - TListView は項目のキャプションに 600 文字以上を追加します

Item.Caption と SubItems に 600 以上 (またはそれ以上) の文字を追加する必要がありますが、テキストが N 文字より長い場合、TListView がテキストを完全にカットすることがわかります。

私はこれを試しました:

そして、 ListView1.OwnerDraw := True; を有効にしました。

下の図からわかるように、Column1 のテキストが Column2 に重なっています。

ここに画像の説明を入力

誰でもこの問題を解決するのを手伝ってくれますか?

0 投票する
2 に答える
15284 参照

delphi - Delphi - ListView のスクロールバー位置の取得と設定

ばかげた単純な質問のように思えるかもしれませんが、満足のいく答えを見つけることができませんでした. 基本的に、データを含むTListview (スタイル = vsReport) があります。時々、更新する必要があるため、リストビューをクリアして、更新されたデータを再度入力する必要があります。

ただし、それを行うと、スクロールバーの位置が0にリセットされます。クリアする前にスクロールバーの位置を取得し、以前の位置に戻せるようにしたいと考えています。更新されたデータの行数が古いデータとまったく同じである場合、スクロールバーを以前とまったく同じ位置に配置する必要があります。そうでない場合は、以前とほぼ同じ場所にある必要があります。

簡単そうですよね?それでも、私が見つけたのは、TopItemMakeVisibleを使ったハックまたは微調整だけです。それを行う適切な方法はありますか?

ありがとう!

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

delphi - TListView SelCount が仮想リスト内の項目数を間違って報告する

リストで少なくとも行が選択されているかどうかに応じて、ボタンを有効または無効にする必要があります。

以下は、この問題を再現するためのコードです。リストは OnData イベントを使用して設定され、複数の行を選択できます。

OnSelectItem を使用してユーザーが選択を変更したことを検出し、TListView SelCount 関数を使用して選択された行の数を検出できると考えました。

問題は、ユーザーが複数の行を選択すると、SelCount が 0 を返すことです。リストが手動で入力されている場合 (つまり、OnData イベントを使用していない場合)、これは正常に機能します。

何か案は?

ありがとう

更新: 代わりに OnChange イベントを使用するとうまくいくようです。それでも、(SelectItem イベント内から) 複数の行が選択されたときに SelCount が 0 を返す理由を理解することは興味深いでしょう。

別の更新: テスト プロジェクトを投稿しました: https://dl.dropboxusercontent.com/u/35370420/TestListView2.zipとスクリーンショット:

ここに画像の説明を入力

この問題を再現するには、アプリを実行して Item1 を選択し、Shift キーを押しながら Item2 をクリックします。ボタンは無効です。私の意図は、リストで少なくとも 1 つの項目が選択されている限り、ボタンを動的に有効にすることでした。選択された項目がない場合、ボタンは無効になります。

PAS ファイル:

形:

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

delphi - グループと項目をクリアして再ロードした後、TListView のグループと項目が表示されない

Delphi XE4 Update 1 および Windows 8。

リスト ビューにグループとアイテムを追加すると、正しく表示されます。その後、アイテムとグループをクリアして再度追加すると、何も表示されません。確かにこれは意図した動作ではありませんか?

DFM から:

コード:

ボタンを初めてクリックすると、アイテムが表示され、グループ化されます。2 回目は、リスト ビューが空白です。グループをクリアする行をコメントアウトすると機能しますが、グループの数は 1 つを除いてすべて未使用で、毎回 1 ずつ増えます。

0 投票する
2 に答える
900 参照

delphi - エクスプローラー スタイルを使用している場合、TListView は選択を非表示にしない

Delphi XE4 では、HideSelection を true に設定し、エクスプローラ スタイルの TListView を使用する場合(Windows エクスプローラのように選択範囲がグラデーションの背景になっている場合)、別のコントロールをクリックしても選択範囲が非表示になりません。何も起こらなかったかのようにそこにとどまります。リストビューにフォーカスがない場合、通常のように灰色の四角形に変わることさえありません。

これは Delphi のバグですか、それとも MS Listview コントロールの「機能」ですか? これに対する既知の回避策または修正はありますか? 本当に迷惑です...

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

android - Delphi XE6 モバイル: TObject プロパティをバインドするときに TListviewItem に割り当てられた TObject を取得する方法

私は次のものを持っています:

TAdapterBindSource および TDataGeneratorAdapter で TMyList を使用して、TMyList を TListview にバインドします。無事、商品が表示されました。

TListview の項目をクリックすると、OnItemClick で、TListViewItem に割り当てられた TMyObject インスタンスを知る必要があります。

リストビューにヘッダー項目があり、インデックス値が対応しないため、TListViewItem.Index を使用しても機能しません。

リストビュー項目がクリックされたときに、TMyObject のプロパティ値を取得する必要があります。

ありがとう。

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

json - tListView、XE6、BaaS: ネストされたオブジェクトで文字列を取得する方法

Delphi XE6、VisualBinding、および BaaS-Providers は初めてです。JSON-Response を tBackendQuery からリスト ビューに変換するのがいかに簡単かを見て、とてもうれしく思います。私の BaasStorage には、画像を含む FilePDF という名前の列が含まれています (はい、JPG の名前を変更する必要があります..)。クエリで返されるのは、インターネット内のファイルへの URL です。この URL を個別の変数で取得するにはどうすればよいですか? (私の手っ取り早い解決策は、JSON 応答を表示するメモを調べて、「1+(ix*15)+6」行ごとに取得することです.....

スクリーンショットを表示したかったのですが、評判が十分ではありません....そこで、JSON-REspone....

(サリナ・デュポンさんのチュートリアルがあるようですが、リンクがうまくいきません…)