Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 6 của 6
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Sử dụng Dropdownlist trong DataList ASP.NET như thế nào?

    Chào mọi người!
    Mình có gặp vấn đề sau khi sử dụng DropDownlist trong DataList mong các bạn trong diễn đàn giúp mình giải quyết.
    Mình có 2 bảng:
    - Bảng Thành Viên gồm các trường sau: MaThanhVien, TenDangNhap, Pass, GioiTinh, MaQuyen
    - Bảng Quyền có các trường: MaQuyen, TenQuyen

    Mình đã load được ra DataList các trường sau: TenDangNhap, Pass, GioiTinh, TenQuyen. Trong đó tên quyền mình hiện ra trong 1 dropdownlist. Giờ mình muốn khi mình chọn 1 quyền bất kỳ trong dropdownlist này thì nó sẽ được tự động update trong CSDL. Mình có viết sự kiện "OnSelectedIndexChanged" của dropdownlist nhưng ngặt nỗi là mình không biết làm cách nào để lấy được mã thành viên ứng với item đang xét. Đây là code của mình, các bạn xem và cho mình gọi ý nhé: http://www.mediafire.com/?t1ns93o4296icf4
    Rất mong nhận được sự giúp đỡ của các bạn trong diễn đàn.
    Cảm ơn!

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Hey! Chào bạn.
    Để lấy được Mã nào đó của bạn.
    Ví dụ mình Eval("Ma") vào 1 cái label id="lblMa" nằm trong Datalist.
    Và cái drop ở đó mình muốn lấy mã tương ứng ở row tương ứng thì mình thường sài hàm for.
    Bạn thử làm thế này xem sao.
    Mã:
    for(int i=0;i<datalist.rows.count;i++)
    {
    Label ma=(Label)datalist.rows[i].FindControl("lblMa"); --> Đến đây bạn đã lấy được mã rồi
    }

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi NgocTuanz
    Hey! Chào bạn.
    Để lấy được Mã nào đó của bạn.
    Ví dụ mình Eval("Ma") vào 1 cái label id="lblMa" nằm trong Datalist.
    Và cái drop ở đó mình muốn lấy mã tương ứng ở row tương ứng thì mình thường sài hàm for.
    Bạn thử làm thế này xem sao.
    Mã:
    for(int i=0;i<datalist.rows.count;i++)
    {
    Label ma=(Label)datalist.rows[i].FindControl("lblMa"); --> Đến đây bạn đã lấy được mã rồi
    }
    Cảm ơn bạn đã quan tâm, có phải ý bạn là như thế này không:
    Mã:
    protected void drdQuyen_SelectedIndexChanged(object sender, EventArgs e)
            {
                int items = dtlThanhVien.Items.Count;
    
                for (int i = 0; i < items; i++)
                {
                    DropDownList dropq = sender as DropDownList;
                    HiddenField hdf = dtlThanhVien.Items[i].FindControl("hdfmathanhvien") as HiddenField;
                    int idtv = Convert.ToInt32(hdf.Value);
                    tvBLL = new BusinessLogicLayer.TBL_ThanhVienBLL();
                    tvDAL = new DataAccessLayer.TBL_ThanhVien();
                    tvDAL = tvBLL.LoadThanhVienByID(idtv);
    
                    DataAccessLayer.TBL_ThanhVien tvdal = new DataAccessLayer.TBL_ThanhVien();
                    tvdal.Mathanhvien = tvDAL.Mathanhvien;
                    tvdal.Maquyen = Convert.ToInt32(dropq.SelectedItem.Value);
    
                    tvBLL.UpdateThanhVien(tvdal);
                }
    
            }
    Nhưng nếu làm như vậy thì khi mình chọn lại quyền cho 1 thành viên nào đó thì nó sẽ update lại quyền cho tất cả các thành viên đúng với quyền mình vừa chọn bạn ah(tức là tất cả các thành viên bây giờ đều có cùng 1 quyền như nhau). Bạn xem code của mình rồi cho mình gợi ý với nha: http://www.mediafire.com/?t1ns93o4296icf4

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    các bạn ơi giúp mình với!!!!!

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi thanhlong_3010
    các bạn ơi giúp mình với!!!!!
    Không biết bạn đã giải quyết được vấn đề chưa?
    Mình có đóng góp như sau:
    hy vọng sẽ giúp được bạn:

    protected void select_sl_OnSelectedIndexChanged(object sender, EventArgs e)
    {
    DropDownList drd = (DropDownList)sender;
    ListViewItem lv2_item = (ListViewItem)drd.NamingContainer;
    HiddenField hd_id = (HiddenField)lv2_item.FindControl("hd_id");
    lb_masp.Text = hd_id.Value;// hd_id.Value là giá trị mã mà bạn cần lấy

    }

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi khoatieutu87
    Không biết bạn đã giải quyết được vấn đề chưa?
    Mình có đóng góp như sau:
    hy vọng sẽ giúp được bạn:

    protected void select_sl_OnSelectedIndexChanged(object sender, EventArgs e)
    {
    DropDownList drd = (DropDownList)sender;
    ListViewItem lv2_item = (ListViewItem)drd.NamingContainer;
    HiddenField hd_id = (HiddenField)lv2_item.FindControl("hd_id");
    lb_masp.Text = hd_id.Value;// hd_id.Value là giá trị mã mà bạn cần lấy

    }
    cảm ơn bạn nhé, mình đã giải quyết được rồi [IMG]images/smilies/smile.png[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •