質問

2 つのオブジェクトを構築する必要があります。OrderList と Order。

これら 2 つのオブジェクトを使用して、DataGridView に注文の履歴を入力する必要があります。ただし、接続やその他のドラッグ アンド ドロップ コントロールにバインド ソースを使用しないように指示されています。残念ながら、Google によれば、この種の問題に対しては、これらが最も一般的なオプションのようです。

誰か私を正しい方向に向けてくれませんか?私は C# の経験があまりありません。

ありがとう。

役に立ちましたか?

解決

あなたはOrderクラスを作成することができます:

public class Order
{
    public int OrderID { get; set; }
    public DateTime OrderDate { get; set; }
}

あなたのデータベースレコードを読み、ご注文のコレクションをロード

List<Order> orders = new List<Order>();
using(SqlConnection cn = new SqlConnection("..."))
using (SqlCommand cm = cn.CreateCommand())
{
    cn.Open();
    cm.CommandText = "SELECT OrderId, OrderDate FROM Orders";
    SqlDataReader dr = cm.ExecuteReader();
    while (dr.Read())
    {
        orders.Add(new Order()
        {
            OrderId = dr.GetInt32(dr.GetOrdinal("OrderId")),
            OrderDate = dr.GetDateTime(dr.GetOrdinal("OrderDate"))
        });
    }
}

は、GridViewの一部について、あなたは<の概要を結合 ASP.NETデータに見てみる必要があります/ P>

他のヒント

これは実際にはかなり些細な問題です。次のものを使用する必要があります。

データアダプターとそれに関連付けられたデータセットを取得したら、単純にループしてグリッドを埋めることができます。

あなたはグリッド上にDataBind()関数を呼び出すとき、それはデータを反復して使用する(反射させることで、コレクションに保存されている各オブジェクトのプロパティにグリッドをバインドするので、

あなたはIEnumerableを実装し、データの任意のコレクションにバインドすることができます反射)オブジェクトとグリッド内の各バインドされたフィールドに指定のDataFieldと一致するプロパティを探します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top