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 4 của 4
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Cách dùng GridView để hiển thị 1 column kiểu int thành Read or Unread?



    Như các bác thấy hình chỗ column Status (kiểu int),mặc định là:0 Unread,1 Read,2 Replied.Khi em kéo GridView vào thì cột Status chỉ hiện 0,1,2 thôi.Bây giờ em muốn nó thành Unread,Read,Replied thì phải chỉnh như thế nào ạ?
    Trong lúc chờ đợi thì em tìm được đoạn code sau:
    Mã:
     protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                Label total = (Label)e.Row.FindControl("label1");
                total.Text = "UnRead";
            }
        }
    Nhưng nó chỉ hiển thị được UnRead thôi do mình gán total.Text = "UnRead".
  2. #2
    Cách 1:
    Như cái code mà bạn có.
    Bạn sử dụng 1 hidenfield, lấy cái int đó.

    Trong sự kiện RowDataBound, bạn find cái hidenfield đó. Rồi Bound cái Label theo cái Hiden tương ứng.

    Cách 2Đơn giản nhất)
    Viết code luôn trong cái Eval()

    Ở đây có 1 cái ví dụ về Eval giới tính với giá trị là true false, cho ra thành Nam Nữ
    ((bool)Eval(gioitinh)==false?"Nữ":"Nam")

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi brianbui2009
    Cách 1:
    Như cái code mà bạn có.
    Bạn sử dụng 1 hidenfield, lấy cái int đó.

    Trong sự kiện RowDataBound, bạn find cái hidenfield đó. Rồi Bound cái Label theo cái Hiden tương ứng.

    Cách 2Đơn giản nhất)
    Viết code luôn trong cái Eval()

    Ở đây có 1 cái ví dụ về Eval giới tính với giá trị là true false, cho ra thành Nam Nữ
    ((bool)Eval(gioitinh)==false?"Nữ":"Nam")
    Mã:
    <asp:BoundField HeaderText ="Trang thai" DataField ="Status" DataFormatString="<script>var a = '{0}';if(a=='0') document.write('Unread'); else if(a=='1') document.write('Read'); else document.write('Replied');</script>" HtmlEncodeFormatString="false" />
    Chắc đây là cách đơn giản nhất

  4. #4
    Ngày tham gia
    Sep 2015
    Đang ở
    hà nội
    Bài viết
    0
    Trích dẫn Gửi bởi brianbui2009
    Cách 1:
    Như cái code mà bạn có.
    Bạn sử dụng 1 hidenfield, lấy cái int đó.

    Trong sự kiện RowDataBound, bạn find cái hidenfield đó. Rồi Bound cái Label theo cái Hiden tương ứng.

    Cách 2Đơn giản nhất)
    Viết code luôn trong cái Eval()

    Ở đây có 1 cái ví dụ về Eval giới tính với giá trị là true false, cho ra thành Nam Nữ
    ((bool)Eval(gioitinh)==false?"Nữ":"Nam")
    hidenfield trong asp.net lấy ở đâu bạn.hay làm 1 cái label dc k ?

 

 

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
  •