問題タブ [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.
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;
が、これは私のユースケースには役立ちません。上記が行われているドキュメントが見つからないようです。
delphi - Delphi - ListView のスクロールバー位置の取得と設定
ばかげた単純な質問のように思えるかもしれませんが、満足のいく答えを見つけることができませんでした. 基本的に、データを含むTListview (スタイル = vsReport) があります。時々、更新する必要があるため、リストビューをクリアして、更新されたデータを再度入力する必要があります。
ただし、それを行うと、スクロールバーの位置が0にリセットされます。クリアする前にスクロールバーの位置を取得し、以前の位置に戻せるようにしたいと考えています。更新されたデータの行数が古いデータとまったく同じである場合、スクロールバーを以前とまったく同じ位置に配置する必要があります。そうでない場合は、以前とほぼ同じ場所にある必要があります。
簡単そうですよね?それでも、私が見つけたのは、TopItemとMakeVisibleを使ったハックまたは微調整だけです。それを行う適切な方法はありますか?
ありがとう!
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 ファイル:
形:
delphi - グループと項目をクリアして再ロードした後、TListView のグループと項目が表示されない
Delphi XE4 Update 1 および Windows 8。
リスト ビューにグループとアイテムを追加すると、正しく表示されます。その後、アイテムとグループをクリアして再度追加すると、何も表示されません。確かにこれは意図した動作ではありませんか?
DFM から:
コード:
ボタンを初めてクリックすると、アイテムが表示され、グループ化されます。2 回目は、リスト ビューが空白です。グループをクリアする行をコメントアウトすると機能しますが、グループの数は 1 つを除いてすべて未使用で、毎回 1 ずつ増えます。
delphi - エクスプローラー スタイルを使用している場合、TListView は選択を非表示にしない
Delphi XE4 では、HideSelection を true に設定し、エクスプローラ スタイルの TListView を使用する場合(Windows エクスプローラのように選択範囲がグラデーションの背景になっている場合)、別のコントロールをクリックしても選択範囲が非表示になりません。何も起こらなかったかのようにそこにとどまります。リストビューにフォーカスがない場合、通常のように灰色の四角形に変わることさえありません。
これは Delphi のバグですか、それとも MS Listview コントロールの「機能」ですか? これに対する既知の回避策または修正はありますか? 本当に迷惑です...
android - Delphi XE6 モバイル: TObject プロパティをバインドするときに TListviewItem に割り当てられた TObject を取得する方法
私は次のものを持っています:
TAdapterBindSource および TDataGeneratorAdapter で TMyList を使用して、TMyList を TListview にバインドします。無事、商品が表示されました。
TListview の項目をクリックすると、OnItemClick で、TListViewItem に割り当てられた TMyObject インスタンスを知る必要があります。
リストビューにヘッダー項目があり、インデックス値が対応しないため、TListViewItem.Index を使用しても機能しません。
リストビュー項目がクリックされたときに、TMyObject のプロパティ値を取得する必要があります。
ありがとう。
json - tListView、XE6、BaaS: ネストされたオブジェクトで文字列を取得する方法
Delphi XE6、VisualBinding、および BaaS-Providers は初めてです。JSON-Response を tBackendQuery からリスト ビューに変換するのがいかに簡単かを見て、とてもうれしく思います。私の BaasStorage には、画像を含む FilePDF という名前の列が含まれています (はい、JPG の名前を変更する必要があります..)。クエリで返されるのは、インターネット内のファイルへの URL です。この URL を個別の変数で取得するにはどうすればよいですか? (私の手っ取り早い解決策は、JSON 応答を表示するメモを調べて、「1+(ix*15)+6」行ごとに取得することです.....
スクリーンショットを表示したかったのですが、評判が十分ではありません....そこで、JSON-REspone....
(サリナ・デュポンさんのチュートリアルがあるようですが、リンクがうまくいきません…)