سؤال

أحتاج إلى بناء كائنين: قائمة طلبات ونظام.

باستخدام هذين الكائنتين، لا بد لي من ملء 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 نظرة عامة على البيانات

نصائح أخرى

هذا هو في الواقع مشكلة تافهة إلى حد ما. ستحتاج إلى استخدام هذه الأشياء:

بمجرد أن يكون لديك DataAdapter و DataSet المرتبطة به، يمكنك ببساطة حلقة لملء الشبكة.

يمكنك ربط أي مجموعة من البيانات التي تنفذ IEnumerable لأنه عند استدعاء وظيفة DataBind () على الشبكة، ستقوم بتكرار من خلال البيانات وربط الشبكة على خاصية كل كائن مخزن في المجموعة من خلال العاكس (باستخدام التفكير) الكائن والبحث عن خاصية تتطابق مع DataField المحدد لكل حقل ملزم في الشبكة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top