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

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    tạo cột checkbox cho gridview trong lập trình C#?

    Chèn dữ liệu vào 1 bảng , mỗi acc đang nhập sinh 1 CongDoanID riêng , khi đó họ chỉ đc xem các công đoàn viên thuộc công đoàn của họ :

    Mã:
    var db = new cdbkDataContext();
    var dvcapkhoa = from c in db.ViewDoanVienCapKhoas
                            where c.TrucThuocID == Convert.ToInt32(Session["CongDoanID"])
                            select new
                                       {
                                           ID = c.DVID,
                                           Mã_CB = c.MaCB,
                                           Học_hàm_học_vị = c.HocHam+c.HocVi,
                                           Họ_và_Tên = c.Ho+" "+c.Ten,
                                           Năm_sinh = c.NamSinh,
    
            grvDsDoanVien.DataSource = dvcapkhoa;
            grvDsDoanVien.DataBind();
    
    
        };
    mình đã thêm đc cột check box vào gridview :

    Mã:
     <Columns>
                            
                            <asp:TemplateField HeaderText="Chọn">
                               <ItemTemplate>
                                   <asp:CheckBox ID="chkCheckItem" runat="server" AutoPostBack="false" />
                               </ItemTemplate>
                           </asp:TemplateField>
    
                        </Columns>
    và code 1 button để hiển thị các row mà đã check :
    Mã:
    string check = "" ;
    protected void Page_Load(object sender, EventArgs e)
        {
            for (int i = 0; i >= (GridView1.Rows.Count() - 1); i++)
            {
                if (GridView1.Rows[i].Cells[1] == true)
                {
                    int id = int.Parse(GridView1.Rows[i].Cells[0]);
                    // do some thing
                }
            }
        }
    nhưng làm mãi mà k hiện thị dc

    khi debug thì mình thấy , tất cả các vòng foreach , giá trị của cột check đều là false , nghĩa là chưa check.

    mình có hỏi thì có ng nói k đc databind() ở phần Pageload , nghe có lý nhưng k có hàm này thì làm sao mình cho dữ liệu vào gridview đc

    mong chỉ giáo ?

    yahoo : zoro_bkoa
    mail : hieunguyen2301@gmail.com

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    không rõ vấn đề của bạn, chụp hình lên coi

  4. #4
    Ngày tham gia
    Sep 2015
    Đang ở
    Hà Nội
    Bài viết
    0
    Nghĩa là

    mình có 1 cái gridview , chèn thêm 1 cột checkbox

    bây h mình muốn lấy các row đc check và tạo thành một bảng mới

    mình test thử bằng cách hiện thị dữ liệu của 1 cột từ các dòng được chọn

    nhưng khi debug thì cột check của mình luôn luôn là false , kể cả các dòng đã được check

    m k biết lý do là gì ?

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    theo mình nghĩ. Bạn tạo trên Grid thì các giá trị của check bõ đang mang giá trị null. bạn nên tạo nó dưới DB

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    MÌnh đã giải quyết được rồi

    vấn đề đúng là k được dùng hàm bindata, vì khi đó cột Checkbox sẽ bị clear hết

    giải quyết là ta viết hàm bindata() riêng

    sau đó kiểm tra !Page.Ispostback trước khi chạy hàm đó

    cám ơn

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi brianbui2009
    Vấn đề của bạn có thể là ở chổ này:
    Bạn không sử dụng debug từng dòng để xem nó thực hiện như thế nào, cái nào trước, cái nào sau.
    Cái đầu tiên bạn bind dữ liệu ở chổ nào? Mình không thấy nó nằm ở sự kiện nào cả.
    Và cái cuối cùng, ở sự kiện PageLoad, cái đầu tiên thực hiện là mấy cái checkbox.
    Chưa có cái gì hết thì lấy gì mà checkbox không null hả bạn?
    Thân!
    sao lại k bin , bin ở cái chỗ sử dụng linQ đó thôi

    vấn để là ở pageload không được sử dụng bin thôi, vì khi đó nó lại postback lại , lấy dữ liệu từ sever
    mà từ sever thì cột checkbox của mình là null hết , nên k thể làm đc

    mình đã khắc phục bằng cách cho lệnh Databind() vào trong 1 hàm khác rồi

    thân

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    if (!IsPostBack) <<< Bạn cho vào trong này thì lấy gì mà lo postback thay đổi dữ liệu [IMG]images/smilies/dont_know.gif[/IMG]

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Vấn đề của bạn có thể là ở chổ này:
    Bạn không sử dụng debug từng dòng để xem nó thực hiện như thế nào, cái nào trước, cái nào sau.
    Cái đầu tiên bạn bind dữ liệu ở chổ nào? Mình không thấy nó nằm ở sự kiện nào cả.
    Và cái cuối cùng, ở sự kiện PageLoad, cái đầu tiên thực hiện là mấy cái checkbox.
    Chưa có cái gì hết thì lấy gì mà checkbox không null hả bạn?
    Thân!

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    thế mới lạ
    vẫn phải xây dựng 1 hàm khác để bin data

    còn trong !Page.ispostback thì gọi hàm đó

    còn để nguyên , nghĩa là cứ trong pageload mà có bin thì là ko ổn

    đã thử và xác nhận ạ

    trên msdn họ cũng phải tạo hàm đó

 

 
Trang 1 của 2 12 CuốiCuối

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
  •