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 3 123 CuốiCuối
Kết quả 1 đến 10 của 24
  1. #1
    Ngày tham gia
    Feb 2014
    Bài viết
    0

    chuyển từ lable sang text box khi edit

    chào các bạn,mình mong các bạn giúp đỡ mình 1 vấn đề sau.
    mình có 1 datalist chứa lable1 và 1 linkbutton(edit).
    đề bài đặt ra là khi mình kick vào edit thì lable chuyển sang ô text để có thể edit trực tiếp vào đó.
    hôm trước mình cũng đã có hỏi nhưng là với gridview,mình áp dụng sang datalist thì không được.
    bạn nào biết thì xin hãy hướng dẫn mình,và nếu có demo cụ thể thì tốt quá,mình xin cám ơn.
    ảnh chụp đề bài :

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Đúng nó rùi đó! Do mình viết chay nên ko nhớ rõ.hi.

    Bạn cho 1 label và 1 button vào Item template
    1 textbox và 1 button vào Edit Item template

    Rùi bạn viết code cho nó xử lý thui. hi

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi linhgl88
    Đúng nó rùi đó! Do mình viết chay nên ko nhớ rõ.hi.

    Bạn cho 1 label và 1 button vào Item template
    1 textbox và 1 button vào Edit Item template

    Rùi bạn viết code cho nó xử lý thui. hi
    xin lỗi bạn hướng dẫn cụ thể cho mình 1 tí đc ko [IMG]images/smilies/biggrin.png[/IMG],mình kém quá

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Thế còn chưa cụ thể hả ta??

    Bạn cho 2 cái lable và button A vào trong phần Item Template của Datalist
    còn 2 cái textbox và button B vào trong phần Edit Item Template của Datalist

    Sau đó bạn sử lý code. Khi nhấn button A thì chuyển sang chế độ Edit.

    Mã:
    DataList1.EditItemIndex = e.Item.ItemIndex;
    rùi khi nhấn vào Button B thì trở lại chế độ bình thường

    Mã:
    DataList1.EditItemIndex = -1;

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi linhgl88
    Thế còn chưa cụ thể hả ta??

    Bạn cho 2 cái lable và button A vào trong phần Item Template của Datalist
    còn 2 cái textbox và button B vào trong phần Edit Item Template của Datalist

    Sau đó bạn sử lý code. Khi nhấn button A thì chuyển sang chế độ Edit.

    Mã:
    DataList1.EditItemIndex = e.Item.ItemIndex;
    rùi khi nhấn vào Button B thì trở lại chế độ bình thường

    Mã:
    DataList1.EditItemIndex = -1;
    cám ơn bạn,nhưng hình như bạn hiểu sai câu hỏi của mình
    có 1 lable và mình bound dữ liệu vào đó,mình muốn khi mình ấn button thì cái lable đó chuyển thành text box để edit ngay trên đó,và khi ấn update thì lại trở về là lable [IMG]images/smilies/smile.png[/IMG].
    với cách bạn chỉ cho mình khi mình thì khi mình cho button B và textbox vào nó hiện ra ở vị trí dưới button và lable có sẵn.
    mình đã làm được cái tuơng tự như thế này nhưng nó là trên gridview chứ không phải datalisst ,mong bạn chỉ giúp thêm

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mã:
            protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
            {
                String name = ((TextBox)GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text;
                String adress = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
                int phone =   Convert.ToInt32(((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text);
                
                Edit(name,adress,phone);
                GridView1.EditIndex = -1;
                loaddata();
                Response.Write("<script>alert('edit succes')</script>");
    
            }
    đây là code mình làm với girdview, 3 cột ban đầu mình để lable và sau đó khi ấn edit thì nó sẽ chuyển về dạng textbox cho mình edit,rồi ấn update thì lại chuyển về lable.
    cái này thú thật mình cũng mới học vẹt chứ chưa hiểu,bạn có thể vui lòng giải thích luôn cho mình được không [IMG]images/smilies/smile.png[/IMG]

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Chính nó đó bạn ah!

    Bởi vì cái label là bạn lấy giá trị mặc định bên database lên. Vậy khi sửa thì nó sẽ sửa vào trong database. Rùi bạn load lại. Thì dĩ nhiên cái label đó nó sẽ lấy giá trị đã đc sửa đó load lên.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi maynu012
    Mã:
            protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
            {
                String name = ((TextBox)GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text;
                String adress = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
                int phone =   Convert.ToInt32(((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text);
                
                Edit(name,adress,phone);
                GridView1.EditIndex = -1;
                loaddata();
                Response.Write("<script>alert('edit succes')</script>");
    
            }
    đây là code mình làm với girdview, 3 cột ban đầu mình để lable và sau đó khi ấn edit thì nó sẽ chuyển về dạng textbox cho mình edit,rồi ấn update thì lại chuyển về lable.
    cái này thú thật mình cũng mới học vẹt chứ chưa hiểu,bạn có thể vui lòng giải thích luôn cho mình được không [IMG]images/smilies/smile.png[/IMG]
    cái này là trong gridview. Bạn lấy giá trị trong Row đã đc sửa truyền vào các biến Name, adress,phone. sau đó update dữ liệu. Rùi cái gridview.Editindex = -1 là cho nó về trạng thái ban đầu.
    cái loaddata() là load lại dữ liệu vào gridview. hết!

    Còn trong datalist thì bạn viết nó trong DataList1_ItemCommand để xử lý. cũng tương tự thế.

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi linhgl88
    cái này là trong gridview. Bạn lấy giá trị trong Row đã đc sửa truyền vào các biến Name, adress,phone. sau đó update dữ liệu. Rùi cái gridview.Editindex = -1 là cho nó về trạng thái ban đầu.
    cái loaddata() là load lại dữ liệu vào gridview. hết!

    Còn trong datalist thì bạn viết nó trong DataList1_ItemCommand để xử lý. cũng tương tự thế.
    bạn ơi mình hiểu chỗ đó rồi,để mình nói rõ lại cho bạn.
    ở trong girdview trên mình có 3 cột tạm gọi A-B-C,trong 3 cột đó là 3 cái lable được bound dữ liệu vào.
    mình hỏi đoạn code
    Mã:
    String name = ((TextBox)GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text;
    đây là đoạn mà cái lable đó được chuyển thành textbox,mình áp dụng như thế sang datalist nhưng không được,mình muốn biết làm thế nào để biến từ lable thành textbox được bạn ạ

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Datalist ko có cells nên bạn làm vậy ko đc là đúng rùi!

    bạn phải làm thế này!


    Mã:
    string name= ((TextBox)e.Item.FindControl("name")).Text;

 

 
Trang 1 của 3 123 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
  •