Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: Đếm số dòng được check trong DataGird ASP.NET như thế nào?

  1. #1
    Ngày gia nhập
    09 2010
    Bài viết
    276

    Mặc định Đếm số dòng được check trong DataGird ASP.NET như thế nào?

    Chào các bạn. Mình đang làm trang Admin bằng ASP.NET trong phần Admin mình view dự liệu lên DataGird và ở đầu mỗi dòng có các CheckBox và mình có muột Buttom "Delete" khi mình click và Buttom này nến mà trong datagrid chưa có ô nào được check thì xuất thông báo "hãy chọn dòng để xóa" còn nếu đã đã có một vài checkbox được check thì xuất thong bao "ban chac muon xoa n item" (n ở đây là số dòng được check). Các bạn chỉ cho mình với. Mình xin cảm ơn.

  2. #2
    Ngày gia nhập
    10 2009
    Nơi ở
    Việt Nam
    Bài viết
    359

    Cái này đơn giản thôi!
    1. trong datagrid bạn add thêm 1 template (checkbox)
    HTML Code:
    1. <asp:GridView ID="GridDanhSach" runat="server"
    2.                            AutoGenerateColumns="False"
    3.                            Width="98%">                          
    4.                             <Columns>
    5.                               <asp:TemplateField>
    6.                                 <ItemTemplate>
    7.                                     <asp:CheckBox ID="chkCheck" runat="server" />
    8.                                 </ItemTemplate>
    9.                             </asp:TemplateField>
    10.                             <asp:TemplateField HeaderText="CateID" SortExpression="CateID">
    11.                             <ItemTemplate>
    12.                                 <asp:Label ID="lblCateID" runat="server" Text='<%#Bind("CateID") %>'></asp:Label>
    13.                             </ItemTemplate>
    14.                             </asp:TemplateField>
    khi bạn thực hiện bấm nút xóa thì bạn code như sau:
    Visual C# Code:
    1.         int intNumCheck = 0;
    2.         if (GridDanhSach.Rows.Count > 0)
    3.         {
    4.             for (int i = 0; i < GridDanhSach.Rows.Count; i++)
    5.             {
    6.                 CheckBox chkChon = (CheckBox)GridDanhSach.Rows[i].FindControl("chkCheck");
    7.                 //Label lblCateID = (Label)GridDanhSach.Rows[i].FindControl("lblCateID");
    8.                 if (chkChon.Checked == true)
    9.                 {
    10.                    //Luu cac ma can xoa lai
    11.                     //hidCateID.Value += lblCateID.Text + ";";
    12.                     intNumCheck++;
    13.                 }
    14.  
    15.             }
    16.             if (intNumCheck == 0)
    17.             {
    18.                ScriptManager.RegisterStartupScript(this, this.GetType(), "Alert", "alert('Bạn chưa chọn danh mục nào để xóa');", true);
    19.  
    20.             }
    21.             else
    22.             {
    23.                ?bạn có muốn xóa intNumCheck bản ghi đi không?
    24.                 Yes: thì xóa (thực hiện xóa các mã bản ghi đã lưu lại trên vòng for kia
    25.  (khuyên bạn nên tạo ra 1  <asp:HiddenField ID="hidCateID" runat="server" />
    26. để lưu các giá trị đã check rồi khi người dùng muốn xóa thì thực hiện việc cắt các id trong hidCateID bằng cách
    27. string[] ListMa = hidCateID.Value.Split(';'); rồi thực hiện for cái mảng mã thực hiện xóa đi.
    28.                 No: không làm gì cả
    29.             }
    Muốn thành công thì đừng thất vọng - nhưng nếu có lúc thất vọng thì cứ làm việc trong sự thất vọng đi.

  3. #3
    Ngày gia nhập
    09 2010
    Bài viết
    276

    Cảm ơn bạn. Tiện đây các bạn chỉ cho mình cách đổi mầu dòng được check luôn với. Mình thấy người ta làm khi mà dòng được check hoặc di chuột qua thì nó đổi sang mầu khác cho dễ phân biết. Mấy cái xử lý này mình gà quá :(. Các bạn cho mình xin ít tài liệu với chỉ cho mình hướng học với.

  4. #4
    Ngày gia nhập
    05 2011
    Bài viết
    43

    bạn chỉ cần tìm xem cái dòng được check là dòng nào, rồi định dạng css cho dòng đó thôi
    vd:
    GridView1.Rows[dong].CssClass = "hightlight";
    hightlight: là selector để định dạng cho dòng đó
    Bạn thử làm xem nhé

  5. #5
    Ngày gia nhập
    10 2009
    Nơi ở
    Việt Nam
    Bài viết
    359

    Của bạn đây:
    Bạn biết css đó chứ: copy thêm class này:
    CSS Code:
    1. .rowStyle
    2. {
    3.        background-color:#AAFFEE;
    4.        cursor:auto;
    5. }
    Khi thực hiện view grid (set datasource và gọi phươn thức databind() thì bạn sử dụng vòng for duyệt các row rồi add style cho nó
    code:
    Visual C# Code:
    1.      void ViewGrid()
    2.     {
    3.         GridView1.DataSource = LH.ViewLienHe();
    4.         GridView1.DataBind();
    5.         foreach (GridViewRow row in GridView1.Rows)
    6.         {
    7.             row.Attributes.Add("onmouseover", "javascript:this.className = 'rowStyle'");
    8.             row.Attributes.Add("onmouseout", "javascript:this.className = ''");
    9.         }
    10.     }
    Demo: dòng mình đang rê chuột đến nó chuyển màu (xanh)
    Đã được chỉnh sửa lần cuối bởi pvtam2a : 16-12-2011 lúc 11:33 PM.
    Muốn thành công thì đừng thất vọng - nhưng nếu có lúc thất vọng thì cứ làm việc trong sự thất vọng đi.

  6. #6
    Ngày gia nhập
    09 2010
    Bài viết
    276

    Mặc định Đếm số dòng được check trong DataGird ASP.NET như thế nào?

    Vâng cảm ơn các bạn nha. Bình thường làm CSS thì mấy cái này mình cũng hiểu với làm được nhưng không biết làm thế nào để gọi vào trang ASP . Bạn có tài liệu học về cái này không cho mình xin để mình học.

  7. #7
    Ngày gia nhập
    10 2009
    Nơi ở
    Việt Nam
    Bài viết
    359

    Trích dẫn Nguyên bản được gửi bởi nguoirung1.6 Xem bài viết
    Vâng cảm ơn các bạn nha. Bình thường làm CSS thì mấy cái này mình cũng hiểu với làm được nhưng không biết làm thế nào để gọi vào trang ASP . Bạn có tài liệu học về cái này không cho mình xin để mình học.
    Tài liệu học thì vô kể lắm, đọc đc đến đâu thôi! kinh nghiệm của mình thì làm nhiều sẽ biết và ko biết thì search rồi mãi cũng ra cái gì đó mà mình cần, quan trọng là mục tiêu mình đang làm gì bạn à! khi có mục đích làm rồi bạn sẽ tìm ra vấn đề nhanh thôi! (tài liệu về .net thì vô kể lắm) tham khảo các project demo, các tut hay các mẹo,... vv.
    Muốn thành công thì đừng thất vọng - nhưng nếu có lúc thất vọng thì cứ làm việc trong sự thất vọng đi.

  8. #8
    Ngày gia nhập
    10 2009
    Nơi ở
    Việt Nam
    Bài viết
    359

    Mình cũng mới học về cái này thôi! có thể nhiều cái bạn biết mình cũng ko biết, chia sẻ học hỏi là niềm vui, đây là nich mình: phamtam_89 bạn có thể add mình có thể làm quen kết bạn có vấn đề gì trao đổi đc chứ!
    Muốn thành công thì đừng thất vọng - nhưng nếu có lúc thất vọng thì cứ làm việc trong sự thất vọng đi.

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

  1. ADO.NET Chỉ cho phép check một dòng trong cột check trên Datagridview
    Gửi bởi bkmt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 02-12-2011, 08:21 AM
  2. Trả lời: 10
    Bài viết cuối: 18-10-2011, 12:10 PM
  3. làm sao để lấy dòng đã check trong checklistbox cho vào textbox
    Gửi bởi chitviv trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 9
    Bài viết cuối: 11-06-2011, 11:55 PM
  4. chọn dòng datagird sang datagridview
    Gửi bởi atulakokon0777 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 07-06-2011, 06:25 AM
  5. Đưa dữ liệu từ mysql lên datagird trong c# như thế nào?
    Gửi bởi phanthanhit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 26-10-2010, 10:11 AM

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