私は、データソースが交差テーブルにあるバインディングリストを持つdatagridvewを持っています。私は参照として機能し、DataGridViewComboBoxColumn型である列の1つにバインドされている別のバインディングリストを持っています。DataGridViewの基本的な質問
- DepatureのID:テキストボックス
- 出発:テキストボックス
- デスティネーションID:テキストボックス
public IList<Flight> flights = new List<Flight>()
{
new Flight { DepartureID = 1, DestinationID = 1, FlightNumber = "101" },
new Flight { DepartureID = 2, DestinationID = 2, FlightNumber = "202" },
new Flight { DepartureID = 3}
};
public IList<Departure> departures = new List<Departure>()
{
new Departure {ID = 1, City = "Toronto"},
new Departure {ID = 2, City = "Chicago"},
new Departure {ID = 3, City = "New York"}
};
public IList<Destination> destinations = new List<Destination>()
{
new Destination {ID = 1, City = "London"},
new Destination {ID = 2, City = "Paris"},
new Destination {ID = 3, City = "Amsterdam"}
};
は私のDataGridViewの5つの列があります。下記のように私は、バインディングのリストを簡素化しています
私は3つの質問があります:
1)出発点は読み取り専用です。私はIDと市を表示したいと思います。都市値を自動的に検索するためのテキストボックスを追加するにはどうすればいいですか?私はOnCellPaintingイベントを考えてそれを探していましたが、e.Valueは読み取り専用です。 Delphiに似たOnCellDrawingイベントがありますか?
2)宛先のコンボボックスで、ユーザーがコンボボックスから値を選択すると、宛先IDも更新するにはどうすればよいですか?
3)私は、私が唯一の出発の値コンボボックスは、ルックアップするために何も値)
応答のためにありがとうGabriel。私は、読み取り専用のコンボボックスを使わず、まっすぐなテキストボックスを使うことを望んでいました。 Delphi DBGridに似たOnDrawEventがありますか?どこで私の参照を行うことができますか? –
OnDrawEventを使用してコントロールのルックアップを変更することはできますが、コントロールを再描画することに慣れていません。私はあなたがそれをグーグルにすれば多くのチュートリアルがあると確信しています。 –
ありがとうが、DataGridViewのOnDrawEventは表示されません。理想的には、OnDrawCellEventは、グリッド全体だけでなく、列そのものにも適しています。また、Flight.DestinationIDをnullableにしてもらえるよう提案してくれてありがとうと思います。 –