Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: duyệt tất cả các ROW trong table của access bằng foreach

  1. #1
    Ngày gia nhập
    04 2011
    Bài viết
    83

    Mặc định duyệt tất cả các ROW trong table của access bằng foreach

    Visual C# Code:
    1.   foreach(xxxxx)
    2.            listBox1.Items.Add (ds.Tables[0].Rows[i]["MaSV"].ToString())
    ở chỗ XXX em không biết điền gì, anh nào giúp em

  2. #2
    Ngày gia nhập
    11 2008
    Nơi ở
    An Giang
    Bài viết
    502

    Trích dẫn Nguyên bản được gửi bởi chitvivo Xem bài viết
    Visual C# Code:
    1.   foreach(xxxxx)
    2.            listBox1.Items.Add (ds.Tables[0].Rows[i]["MaSV"].ToString())
    ở chỗ XXX em không biết điền gì, anh nào giúp em
    hơi mâu thuẩn tý đã là Foreach rùi mà sao có ds.Tables[0].Rows[i]["MaSV"].ToString();
    duyệt qua tất cả các Row của Table bằng Foreach thì như thế này:
    Visual C# Code:
    1. Foreach(DataRow row in table.Rows)
    2. listbox1.Items.Add(row["tên cột"].ToString())//hoặc Index của cột muốn Add vào Listbox

  3. #3
    Ngày gia nhập
    04 2011
    Bài viết
    83

    Trích dẫn Nguyên bản được gửi bởi huuhung Xem bài viết
    hơi mâu thuẩn tý đã là Foreach rùi mà sao có ds.Tables[0].Rows[i]["MaSV"].ToString();
    duyệt qua tất cả các Row của Table bằng Foreach thì như thế này:
    Visual C# Code:
    1. Foreach(DataRow row in table.Rows)
    2. listbox1.Items.Add(row["tên cột"].ToString())//hoặc Index của cột muốn Add vào Listbox
    thật sự thì em không biết add kiểu gì nên mới hỏi, thanks a nhiều nha

  4. #4
    Ngày gia nhập
    09 2011
    Nơi ở
    TP Hồ Chí Minh
    Bài viết
    37

    gửi bạn cách này
    Visual C# Code:
    1.             DataTable dt = new DataTable();
    2.             dt.Columns.Add(new DataColumn("MSV"));
    3.             dt.Rows.Add(1);
    4.             dt.Rows.Add(2);
    5.             dt.Rows.Add(3);
    6.             dt.Rows.Add(4);
    7.  
    8.             listBox1.DisplayMember = "MSV";
    9.             listBox1.DataSource = dt;
    giúp bạn một chân, thấy bạn for mình mệt tim quá
    p/s: ta là gấu

  5. #5
    Ngày gia nhập
    04 2011
    Bài viết
    83

    Trích dẫn Nguyên bản được gửi bởi haiduong87 Xem bài viết
    gửi bạn cách này
    Visual C# Code:
    1.             DataTable dt = new DataTable();
    2.             dt.Columns.Add(new DataColumn("MSV"));
    3.             dt.Rows.Add(1);
    4.             dt.Rows.Add(2);
    5.             dt.Rows.Add(3);
    6.             dt.Rows.Add(4);
    7.  
    8.             listBox1.DisplayMember = "MSV";
    9.             listBox1.DataSource = dt;
    giúp bạn một chân, thấy bạn for mình mệt tim quá
    biết có bao nhiêu ROWS mà add kiểu đó vậy a

  6. #6
    Ngày gia nhập
    09 2011
    Nơi ở
    TP Hồ Chí Minh
    Bài viết
    37

    Mặc định duyệt tất cả các ROW trong table của access bằng foreach

    Trích dẫn Nguyên bản được gửi bởi chitvivo Xem bài viết
    biết có bao nhiêu ROWS mà add kiểu đó vậy a
    Không có table thì tạo một cái để demo cho chú em. Chứ ở trên có cái dataset lấy từ DB rồi sao ko xài
    p/s: ta là gấu

  7. #7
    Ngày gia nhập
    10 2010
    Nơi ở
    Đà Nẵng
    Bài viết
    10

    Chú dùng cách bindding ds như bác haiduong87 là ok rồi,
    tuy nhiên trong trường hợp bắt buộc phải dùng vòng lặp thì nên code theo kiểu tạo items array trước, gán giá trị rôi mới add vào list. Cách này sẽ chạy nhanh gấp bội đấy

    ListboxItem[] items = new ListboxItem[ds.Tables[0].Rows.Count];
    int nItems = ds.Tables[0].Rows.Count;
    for (int i=0;i<nItems;i++)
    {
    items[i] = new ListboxItem(ds.Tables[0].Rows[i]["MSV"].Value);
    }
    this.ListBox.AddRange(items);

    Chỉ dùng foreach trong các trường hợp không control được số phần tử của list.
    Hạn chế dùng vì khá tốn kém memory, ko nhanh, nếu như gặp các object thuộc loại khủng

  8. #8
    Ngày gia nhập
    04 2011
    Bài viết
    83

    Trích dẫn Nguyên bản được gửi bởi huyphanvan Xem bài viết
    Chú dùng cách bindding ds như bác haiduong87 là ok rồi,
    tuy nhiên trong trường hợp bắt buộc phải dùng vòng lặp thì nên code theo kiểu tạo items array trước, gán giá trị rôi mới add vào list. Cách này sẽ chạy nhanh gấp bội đấy

    ListboxItem[] items = new ListboxItem[ds.Tables[0].Rows.Count];
    int nItems = ds.Tables[0].Rows.Count;
    for (int i=0;i<nItems;i++)
    {
    items[i] = new ListboxItem(ds.Tables[0].Rows[i]["MSV"].Value);
    }
    this.ListBox.AddRange(items);

    Chỉ dùng foreach trong các trường hợp không control được số phần tử của list.
    Hạn chế dùng vì khá tốn kém memory, ko nhanh, nếu như gặp các object thuộc loại khủng
    Visual C# Code:
    1. this.ListBox.AddRange(items);
    có nghĩa là gì vậy anh

  9. #9
    Ngày gia nhập
    10 2010
    Nơi ở
    Đà Nẵng
    Bài viết
    10

    À nhầm rồi, đúng phải là:
    this.ListBox.Items.AddRange(items);
    tại code chay :(

  10. #10
    Ngày gia nhập
    04 2011
    Bài viết
    83

    Trích dẫn Nguyên bản được gửi bởi huyphanvan Xem bài viết
    À nhầm rồi, đúng phải là:
    this.ListBox.Items.AddRange(items);
    tại code chay :(
    Vậy nếu là
    Visual C# Code:
    1. this.ListBox.Items.AddRange(items);
    thì có nghĩ là gì a

Các đề tài tương tự

  1. Duyệt các controls bằng foreach thì control nào sẽ được duyệt trước
    Gửi bởi chitviv trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 05-10-2011, 10:01 PM
  2. Duyệt tất cả các textbox bằng foreach
    Gửi bởi chitviv trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 27-09-2011, 09:57 PM
  3. Cách dùng vòng lặp foreach để duyệt qua 10 textbox?
    Gửi bởi MYNAM trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 20-07-2011, 01:25 PM
  4. ADO.NET Làm sao để duyệt mảng bằng foreach ?
    Gửi bởi zalrol trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 05-05-2011, 08:53 AM
  5. dùng C# xem tất cả các table có trong 1 file access???
    Gửi bởi kid07 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 21-06-2007, 07:58 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn