問題タブ [datatable]
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.
.net - .NET DataTable の最適なユースケースは何ですか?
私は3つのテーブルCustomers、Jobs、Ordersを持っています
これらのテーブルは、データベース自体と同じ制約に準拠する DataSet にも含まれています。
当初、私の意図は、データを DataSet に保持し、さまざまな DataView オブジェクトを作成してこのデータをユーザーに表示し、必要な操作を実行することでした。これは、.NET TableAdapter 方法論を使用してデータベースで明らかに更新されます。 .
ただし、DataView オブジェクトは単一の DataTable オブジェクトでしか操作できないようです。
私の質問は次のとおりです。保守性とパフォーマンスを確保するためにメモリ内にデータを作成する最良の方法はどれですか。
- 非正規化されたデータを含む複数の DataTable オブジェクトを作成します。これにより、メモリ内にデータのコピーが作成されると思われますが、変更時にデータベースを更新する際に問題が発生することが懸念されます。
- DataView の動作を期待どおりに動作させ、DataSet (およびデータベース) を自動的に更新することもできるカスタム クラスを作成します。
.net - 2つの.NETDataTablesの共通部分を見つける
.NETで2つのDataTableの共通部分を取得する比較的簡単な方法はありますか?
明らかな方法を考えることができますが(O(n ^ 2)で両方のテーブルを繰り返し処理します)、利用できる場合はもう少しエレガントなものが必要です。私が見ていなかった知的な方法があるのではないかと思います。もちろん、読みやすさと保守性は重要なので、私はあまりにも「滑らか」なものには近づかないようにしています。
良いアイデアはありますか?
編集:ブライアンワッツは3.5に対してかなり優れたソリューションを持っているように見えますが、残念ながら私は.NET 2.0を使用しています(これについては言及する必要があります)。
c# - DataGridView - DataTable - プロパティの表示
( .NET 2.0、System.Windows.FormsDataGridView および DataTable )
1 つのデータテーブルに接続された 1 つのデータグリッドがあります。
そのデータテーブルには 1 つの列が含まれています。自分のタイプ「MyObject」のオブジェクトが含まれています。
MyObject には、公開文字列プロパティ "MyProp" があります。
グリッドに 1 列を表示したい: テーブル内の MyObjects のプロパティ MyProp の文字列値を表示します。
しかし、私はそれを機能させることができないようです。
概略的に:
- myTable.Column1.Name: "オブジェクト"
- myDataSet には 1 つのテーブルが含まれています: myTable (いくつかの行で埋められています)
- myBindingSource.datasource = myDataSet
- myBindingSource.DataMember = myTable
- myDataGridView.DataSource = myBindingSource
myDataGridView: 1 DataGridViewTextBoxColumn
トライアウト 1:
Column.DataPropertyName="Obj" (デフォルトで生成)
(オーバーライドされた) MyObject.ToString() の結果を表示します。本当に欲しいものではありません。この関数はログに使用されています。
- トライアウト 2:
GridViewColumn.DataPropertyName="Obj.MyProp"
何も表示しません (MyProp のgetは呼び出されません)
試行 3: MyProp プロパティをバインド可能にしました。
トライアウト2と同じ、変わらない
要するに:
GridViewColumn.DataPropertyName は、データテーブルの列内のオブジェクトへのドリルダウンをサポートしていないようです。
誰でもアイデアはありますか?
前もって感謝します!
1月
c# - DataGridView にバインドされた DataTable で列の順序を変更してもビューに反映されない
アプリケーションが実行されると、DataGridView
は にバインドされDataTable
ます。後で、プログラムでさらに列を追加するDataTable
と、基になるデータに反映されます。つまり、列序数は本来あるべきものです。ただし、これは に反映されませんDataGridView
。代わりに、最初に生成されたセットに列が追加されます。
この例は、
ボタン 1 は列を生成し、ボタン 2 は列を追加して序数を 0 に設定し、グリッドの先頭に配置します。ボタン 3 は列の序数を表示し、DataTable
.
linq - データセットを IQueryable に変換またはIEnumerable
DB2 への Linq はまだないので (IBM さん!)、コードで IQueryables または IEnumerables を処理したいのですが、DataTable を IQueryable に変換するにはどうすればよいでしょうか? またはIEnumerable?
データテーブルの列に一致するインターフェイスとクラスがあります...
MSFT がヤンクしたため、DataTable.Rows は .AsQueryable をサポートしていないため、ここで何をすべきかわかりません。
c# - VC# 2008: DataTable から ComboList にテーブル名を取得する / 2 つの MDB からテーブルをマージする方法は?
私が書いている私のプログラムの目的は、この問題で発生しました:
2 人のユーザーがいて、各ユーザーが .MDB ファイルに保存します。一方のユーザーは更新された/正しい情報の半分 (残りの半分は古くなっています) を持ち、もう一方のユーザーは情報の半分 (残りの半分は古くなっています) を持っています。
ユーザー 1: 25% + 25% = 50% の現在の情報が必要で、残りの 50% は古くなっています ユーザー 1 は 4 つのアイテムのうち 2 つに取り組んでいます。
ユーザー 2: 25% + 25% = 50% の現在の情報が必要で、残りの 50% は古くなっています ユーザー 2 は 4 つのアイテムのうち 2 つに取り組んでいます。
その 50% (4 つの項目のうち 2 つ) を User1 から取り、それを User2 に追加して 100% (4 つの項目のうち 4 つ) にする必要があります。
それらのSQLスタイルのテーブル構造は(とにかくそうあるべきです)同一です(しかし、可能であれば、新しいテーブルが追加されたイベントを提供したいと思います)
DataTable からすべてのテーブル名を取得する方法がわかれば、DataTable を体系的に並べて、更新が必要であることがわかっている他の .MDB ファイルのテーブルにテーブルを置き換えることができます。DataSet に「DataSet.Tables」があることは知っていますが、あまり役に立ちません。
それができれば、テーブルをコンボ ボックスに追加して、コンボ ボックスの内容が何であれ、データグリッドにリストするテーブルに機能を作成することもできます。
これを行う方法についてアイデアがある場合 (または、私が言っていることを理解している場合) は、私に知らせてください。このプロジェクトは 70% 完了しましたが、これらは私の最後の論理障害のようです。私はこれを正しく説明したと思います。
- DataTable オブジェクトのテーブル名だけを一覧表示するにはどうすればよいですか。
- 特定のテーブルを .MDB ファイルから取り出して別の .MDB ファイルに追加することについて、どのようなアイデアがありますか?
- すべてのテーブル名を含む ComboList ドロップダウン ボックスを入力するにはどうすればよいでしょうか...テーブル名を変更すると、それらの内容がデータグリッドにリストされます。
- Datagrid にテーブルを一覧表示する方法はありますか。テーブルをクリックすると、そのテーブルの内容が一覧表示されます (ツリー構造のようなものです)。
編集:彼は正しいと思います!DataSets はテーブルのセットであるのに対し、DataTables は 1 つのテーブルにすぎないと思います。それを念頭に置いて、.MDB ファイル内のすべてのテーブルを DataSet に一覧表示するにはどうすればよいでしょうか? それは私の問題を完全に解決するでしょう。
asp.net - DataTableとjavascript
行が追加されるたびにgridviewでポストバックを回避する方法はありますか?
つまり、行が追加されるたびにポストバックを実行するのではなく、DataTableをクライアントに保存し、保存が完了したときにサーバーコントロールに渡すことができますか?
検索して検索しました....見つけたのはWebサービスとJSONだけでしたが、ここでは冗長だと感じています...これは簡単な作業で、ある時点で誰もがやらなければならなかったと思います。
誰かがこれに光を当てることができますか?