問題タブ [dbgrid]
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 - Delphi - DBGrid で実際の行を復元する
D6 教授
以前は DBISAM と DBISAMTable を使用していました。それはRecNoを処理し、変更(削除、編集など)でうまく機能しています。
現在、RecNo を処理しない ElevateDB に置き換え、多くの場合、テーブルではなくクエリを使用しています。
変更を確認するには、クエリを再度開く必要があります。
ただし、クエリを再度開く場合は、最後のレコードに位置を変更する必要があります。グリッドは別の行に表示されるため、見つけるだけでは不十分です。変更レコードが別の行に移動した後、それを追跡するのが難しく、ユーザーはこれを嫌うため、これは非常に厄介なことです。
次のコードが見つかりました。
元の例は moveby を使用しています。バックグラウンドでクエリが再度開かれたことを確認できないため、これはクエリでうまく機能し、ビジュアル コントロールは行の位置を変更しません。
しかし、EDBTable、または Live/Sensitive Query がある場合、MoveBy を使用するのは危険です。誰かが新しい行を削除または追加すると、間違ったレコードに再配置される可能性があるからです。
次に、BookMark を使用しようとしました (備考を参照)。しかし、別の行の位置にレコードを表示するため、この手法は機能しません...
質問: DBGrid で行の位置とレコードの両方を強制する方法は?
または、基になる DataSet が更新された後、どの種類の DBGrid をレコード/行に再配置できますか?
私はユーザーフレンドリーなソリューションを探しています。私はこのジャンプアクロスDBGridを使用しようとしたため、それらを理解していますが、更新後に元のレコードを見つけようとすると目が離せなくなるため、使用するのは非常に悪いです... :-(
あなたのすべての助け、リンク、情報をありがとう: dd
delphi - Delphi-選択が別の行にあるときにdbGridのフィールドを更新します
X行のdbGridを取得しました。2行目のフィールド値をタイマーで更新したい(たとえば、カウントダウンを表示する)。それは問題ありませんが、選択した行を変更して2番目の行を更新し続けることができるようにしたいと思います。グリッドで選択が変更されると、接続されているデータセットの現在のレコードも変更されます。これは、タイマーのコードが選択されたレコードを指しているため、問題になります。
どうすればそれを解決できますか?ありがとう!
database - OnMouseMove イベント中に DbGrid セルの値を決定する方法
OnMouseMove イベントがあり、その間に特定のセルの値を見つけたいと考えています (必ずしもマウスの下のセルではありません)。基本的に問題は次のとおりです。x 座標と y 座標を使用して、セル データを選択したり、フォーカスを変更したりせずにセル データにアクセスする方法は?
delphi - DelphiDBGrid形式の表示値
DBGrid特定の形式で表示するには、値をaでフォーマットする必要があります'#,##0.00'。それを行う方法はありますか?
よろしく、ピーター
delphi - Delphi - DBGrid を使用して検索から行を選択する
クエリを使用してデータベースを検索しました。
検索の結果は DBGrid コンポーネントに表示され、ユーザーは続行したい行を選択できます。
DBGrid は常にレコード ポインタを結果セットの最初のレコードに設定するため、デフォルトでは常に行が「選択」されます。ユーザーが実際に選択したかどうかを判断できるように、データが最初に表示されるときに行が選択されないように、この動作を変更する必要があります。
選択が行われていないかどうか、つまりユーザーが行を選択していないかどうかを判断することはできますか?
どんな助けでも大歓迎です!
delphi - Delphi で ClientDataSet を使用すると、DBGrid にデータ レコードとデルタ レコードの両方を表示できますか?
標準のデータベース対応コンポーネントと dbExpress を使用して、Delphi 6 + MySQL データベースでアプリを作成しています。このアプリを使用すると、ユーザーはグリッド内のレコードを表示し、クライアント側でデータを編集 (レコードの挿入および/または削除) できます。これらのデータ編集は、送信ボタンをクリックしたときにのみデータベースに書き込まれます。これはすべて正常に機能し、次の設定があります。
コントロール: 1. データを視覚的に表示するために DataSource1 にリンクされた DBGrid1。2. DataSource1 は ClientDataSet1 にリンクされ、DBGrid が表示するデータを提供します。3. ClientDataSet1 は DataSetProvider1 にリンクされ、編集用のクライアント側データを提供します。4. DataSetProvider1 は、単一の DB テーブルからレコードを選択する SQLDataSet1 にリンクされています。5. SQLDataSet1 は SQLConnection にリンクされ、MySQL データベースへの接続を提供します。
アクション: 1. ユーザーがレコードを挿入します。ClientDataSet1.InsertRecord を使用します。2. ユーザーがレコードを削除します。私は ClientDataSet.Delete を使用します。3. ユーザーがデータを送信します。私は ClientDataSet1.ApplyUpdates(-1) を使用します。
これはすべて、データの処理とデータの投稿に関してうまく機能します (レコードを削除するための DataSetProvider1BeforeUpdateRecord の小さなハックが含まれています)。
今、私の問題: ユーザーが最初にフォームをロードすると、DBGrid1 はすべての元のレコードを表示し、削除されたすべてのレコードを削除します。しかし、ユーザーが ClientDataSet1 に新しいレコードを挿入すると、空白のレコードが DBGrid1 に表示されます。ClientDataSet1.ApplyUpdates の場合のように、実際のデータが失われたり NULLS として設定されたりすることはありません。このレコードは DB に正しく書き込まれます。
TClientDataSet には、元のデータ用の data プロパティと編集済みデータ用の Delta プロパティがあることを知っています。一度に 1 つの DBGrid に表示され、ユーザーがデータを編集できるようにすることで、データを含むこれら 2 つのプロパティを使用できますか?
私は 30 以上のリソースとデモ アプリを見てきましたが、すべてこの問題を回避しています。これはできますか?
database - Delphi 5.0 Interbase/FireBird 接続の問題
DBGrid でデータを視覚化する際に問題が発生しています。
Delphi 5.0 を使用しており、サイズが 50MB の Interbase 6.0 DB があります。
一部のテーブルには約 32000 の要素があり、巨大なものです。
次のような Interbase のものを使用しています。
- IBテーブル
- IBトランザクション
- データソース1
- データベース
- DBNavigator
接続を作成します。
接続は安定していますが、データが表示されません。
間違ったコンポーネント構成に関連する問題があります。問題は、DB のサイズと、Delphi がデータを処理する方法に関連していると思います。
例: TIBDatabase で AllowStreamedConnected を true に設定すると、データが表示されます。
DB データを可視化するために設定しなければならない特定の情報はありますか?
Delphi または Interbase/Firebird に、データを表示するために変更できるものはありますか?
多分それは Interbase/Firebird コネクタ上の何かですか???
vb6 - DBGridのどのNumberFormat文字列ですか?
DBGridを使用するVB6アプリケーションを管理しています。18.0が18になるように列をフォーマットしたいのですが、18.33が18.3になるようにするにはどうすればよいですか?参照はさらに役立ちます!
delphi - Dbgridの計算
DBGridを持っていて、請求書を作成しようとしていますが、計算が実行されない場合があります。どうすればそれを回避できますか?
delphi - ブックマークと DisableControls の使用方法
することは可能ですか
TDBGrig の合計を取得するとします。