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

Đề tài: Thu gọn đoạn text hiển thị tên sản phẩm khi quá dài

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

    Mặc định Thu gọn đoạn text hiển thị tên sản phẩm khi quá dài

    em có 1 danh sách các sản phẩm, mỗi sản phẩm có 1 hình và bên dưới có 1 label để hiển thị tên sản phẩm, nhưng có nhiều sản phẩm tên dài quá cái hình của em thì nó lại bị xuống dòng, nhìn ko đẹp. Em muốn nó chỉ hiển thị vừa đủ trong 1 dòng vừa với độ rộng của hình ảnh, chữ nào bị dư thì nó sẽ hiển thị dấu 3 chấm. VD: ABCDEFGH => ABCDE.... Có ai giúp em cái này với, em dùng text-overflow mà không được :((

  2. #2
    Ngày gia nhập
    04 2009
    Nơi ở
    /Users/richtran
    Bài viết
    103

    Theo tôi, có 2 cách để thực hiện điều này
    - Dùng javascript để thu gọn
    - Khi bạn xuất label thì bạn chỉ xuất text đó với một kích thước cố định (Ví dụ chỉ xuất 3 từ đầu tiên chẳng hạn) còn lại thì .... Nếu từ nào nhỏ hơn hoặc bằng 3 từ thì xuất hết.

    Hi vọng giúp được bạn

  3. #3
    Ngày gia nhập
    03 2012
    Bài viết
    10

    Bạn có thể viết như sau (đoạn mã này mình sẽ cắt từng ký tự và đảm bảo luôn có nghĩa cho từng dòng):

    public static string LimitLength(string orgText, int maxLength, string append)
    {
    if (orgText == null) return null;
    if (orgText.Length <= maxLength) return orgText;
    orgText = HttpContext.Current.Server.HtmlDecode(orgText);
    var words = orgText.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
    var sb = new StringBuilder();
    foreach (var word in words)
    {
    if ((sb + word).Length > maxLength)
    return string.Format("{0}{1}", sb.ToString().TrimEnd(' '), append);
    sb.Append(word + " ");
    }
    return string.Format("{0}{1}", sb.ToString().TrimEnd(' '), append);

    //return string.Format("{0}{1}", orgText.Substring(0, maxLength), append);
    }

    Trong đó : orgText là nội dung đầu vào, maxLength là ký tự tối đa được hiển thị ,append là ký tự sẽ thêm vào khi đạt đủ số ký tự cho phép như bạn là dấu 3 chấm.

    Và bạn gọi tới method này bình thường. Chú ý hiện tại mình để là static...
    Thanks

  4. #4
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Phương pháp split words và rebuild phrase chỉ hữu hiệu khi các từ chỉ cách nhau bằng dấu trắng. Nếu trong câu có dấu '.' và ',' vân vân thì phương pháp này sẽ mất hiệu quả (cuối câu có một dấu phẩy thì coi sao được?)

    Để cắt chuỗi, cách được ưa chuộng nhất là đếm ngược từ vị trí cần cắt cho đến khi nào gặp từ nguyên thì dừng (ký tự từ mà sau nó không phải là ký tự từ).

  5. #5
    Ngày gia nhập
    11 2010
    Bài viết
    21

    em rất cám ơn sự giúp đỡ của mấy anh !

  6. #6
    Ngày gia nhập
    04 2012
    Nơi ở
    Ha Noi
    Bài viết
    149

    Mặc định Thu gọn đoạn text hiển thị tên sản phẩm khi quá dài

    code ngay tren trang aspx
    Code:
    if(textbox1.text.leng<20)
    {
        textbox1.text.substring(0,20) ...
    }else
    {
        texbox1.text
    }

  7. #7
    Ngày gia nhập
    01 2011
    Bài viết
    15

    Mặc định Thu gọn đoạn text

    Trích dẫn Nguyên bản được gửi bởi ducnv_b01048 Xem bài viết
    code ngay tren trang aspx
    Code:
    if(textbox1.text.leng<20)
    {
        textbox1.text.substring(0,20) ...
    }else
    {
        texbox1.text
    }
    Cái này thì đâu có viết được trong trang aspx ...T_T
    Bạn tham khảo code này nhé...Viết ở trang aspx. Trong thuộc tính text:
    <%# Eval("ten").ToString().Length > 28 ? Eval("ten").ToString().Substring(0,28) + "..." : Eval("ten") %>

    - Đầu tiên kiểm tra độ dài của chuỗi( ở đây mình lấy là 28)
    - Nếu độ dài từ 0-28 thì giữ nguyên.
    - Còn dài hơn thì lấy từ ký tự 29 rồi + "..."

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

  1. Cơ sở làm huy hiệu, bảng tên nhân viên, bảng tên mica, bảng tên ăn mòn, bảng tên thay tên
    Gửi bởi tranngocson186 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 25-05-2013, 08:37 AM
  2. làm sao để bindings 1 phần của text ?
    Gửi bởi doveandrose trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 1
    Bài viết cuối: 11-08-2012, 08:39 AM
  3. Bài tập C++ lưu một phần chương trình vào file text
    Gửi bởi beautifulsoul84hung trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 31-03-2011, 11:27 AM
  4. Bài tập C Lập danh sách bằng file text và xử lí danh sách họ tên,điểm thi.
    Gửi bởi Red_devils trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 03-02-2011, 11:28 AM
  5. Lập trình C Nhập Họ tên và tách nó ra 2 phần họ và tên riêng.
    Gửi bởi drak77 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 07-12-2010, 03:06 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