0

C#.NET(Visual Studio 2010)に問題があります。SQL2005Expressに2つのデータテーブルがあります。

  1. 主キーが「ビル番号」であるビル、
  2. 主キーが「建物番号」(建物テーブルの外部キー)+「アパート番号」であるアパート。(アパートは建物の弱い実体であり、その鍵は複合です)。

両方のテーブルは、DataSetとしてプロジェクトにインポートしたより大きなデータベースの一部です。建物番号とアパート番号を選択するときに、アパートの詳細を表示したいと思います。建物番号はテキストボックスに設定され(その値は常に別のコントロールによって選択された建物番号です)、コンボボックスにテキストボックス内の建物にあるアパート番号のみを表示し、テーブル内のすべてのアパート番号を表示しないようにします(結果として1、2、3、1、4、5、1、2、...のようなもので(すべての行を選択するため))。すべての建物が同じアパート番号または同じ数のアパートを共有しているわけではなく、その場で追加/変更/削除する必要があります。

建物部分の選択が完了し、実行されます。現在の建物のアパート(少なくとも必要なアパート番号)だけを表示するのに問題があります。

datagridを使用したくない(より正確には許可されていません)。「詳細」コントロールのみ。

それ、どうやったら出来るの?私はC#の経験がほとんどなく、DataSetを「最大限に」活用する方法もわかりません。結果が得られるビューを作成することを考えましたが、ビューをインポートして建物番号をパラメーターとして設定する方法がわかりません。他の正気の方法も歓迎します。

助けてください。

シェイ、ありがとうございました。

4

2 に答える 2

0

このために、自動ポストバックがtrueに設定されている2つのドロップダウンを作成します。ページの読み込み時に、すべての建物IDを選択し、ドロップダウンに配置します。ドロップダウンが変更されると、onchangeイベントが発生し、2番目のドロップダウンに対応する建物IDのすべてのアパートIDが入力されます。

于 2011-07-29T13:54:33.083 に答える
0

OKここでもう少し掘り下げて、2番目の質問に対する答えを見つけました。DataRow []ソリューションとその設定方法(最初のステップ)についてRossに感謝します。将来の世代のために、ここに関連するコードがあります:

DataRow [] ApartmentCollection = dbBonusHwDataSet.tblApartment.Select( "buildingNum ='" + Convert.ToInt16(buildingNum_textbox.Text.ToString())+ "'");

ApartmentNum_combox.DataSource = ApartmentCollection;

ApartmentNum_combox.DisplayMember = "apartmentNum";

コードブロックが正しく表示されない理由がわかりません。現在IEを使用して申し訳ありません。しかし、コードタブにコードが表示されません...

于 2011-07-30T00:00:50.703 に答える