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

Đề tài: Hỏi Cách sử Dụng findcontrol() trong gridview?

  1. #1
    Ngày gia nhập
    09 2009
    Nơi ở
    My Tho, Tien Giang
    Bài viết
    12

    Question Hỏi Cách sử Dụng findcontrol() trong gridview?

    Có anh nào rành asp.net giúp e với!
    Code:
     protected void btnthemvaogiohang_Click(object sender, EventArgs e)
        {
            Label a, b, c;
            TextBox d;
            string g;
            int l, f, h;
            if (Session["username"] == null)
            {
                Response.Redirect("Defaultcustomer.aspx", false);
            }
            else
            {
               
                g = Session["username"].ToString();
                a = (Label) GridView1.FindControl("lbltensp");
                b = (Label)GridView1.FindControl("lblmasp");
                c = (Label)GridView1.FindControl("lbldongia");
                d = (TextBox)GridView1.FindControl("txtsoluongcanmua") ;
               
    
                l = Convert.ToInt32(c);
                f = Convert.ToInt32(d);
                if (f < 0)
                    f = 1;
                h = l * f;
               
                    string strconn = "Provider = Microsoft.Jet.OLEDB.4.0;";
                    strconn += "Data Source=" + Server.MapPath("~/database.mdb");
                    OleDbConnection dbconn = new OleDbConnection(strconn);
                    dbconn.Open();
                    string strquery = "insert into GioHang (MaKH,MaSP)";
                    strquery += " values('" + g + "','" + b.Text + "')";
                    OleDbCommand cmd = new OleDbCommand(strquery, dbconn);
                    cmd.ExecuteNonQuery();
                    dbconn.Close();
    
                
            }
        }
    khi chay thì nó báo lỗi cái phần màu đỏ ở trên? e không hiểu tại sao?
    Mẹ !
    Có nghĩa là mãi mãi
    Là cho - đi - không - đòi - lại - bao - giờ
    Cổ tích thường bắt đầu từ : " Ngày xưa có một công chúa ... " hay " Ngày xưa có một vị vua ... "
    Cổ tích còn bắt đầu từ : " Ngày xưa có mẹ .... "

  2. #2
    Ngày gia nhập
    09 2009
    Nơi ở
    My Tho, Tien Giang
    Bài viết
    12

    Có ai giúp tớ ko?help me!
    Mẹ !
    Có nghĩa là mãi mãi
    Là cho - đi - không - đòi - lại - bao - giờ
    Cổ tích thường bắt đầu từ : " Ngày xưa có một công chúa ... " hay " Ngày xưa có một vị vua ... "
    Cổ tích còn bắt đầu từ : " Ngày xưa có mẹ .... "

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

    nó báo lỗi phần đỏ là sao bạn nói rõ hơn đc ko. nó báo ra câu gì ghi ra nào

  4. #4
    Ngày gia nhập
    09 2009
    Nơi ở
    My Tho, Tien Giang
    Bài viết
    12

    Trích dẫn Nguyên bản được gửi bởi tphuong1412 Xem bài viết
    nó báo lỗi phần đỏ là sao bạn nói rõ hơn đc ko. nó báo ra câu gì ghi ra nào
    ah, ý mình là sau khi thực hiện câu lệnh chèn a, b, c d vào cơ sở dữ liệu, nhưng kiểu của a b c kiểu object sau đó mình chuyển qua kiểu String thì nó báo lỗi. mình đoán là phần findcontrol(), mình làm không đúng, nó không trả về được kiểu String như mình mong muốn. mình muốn hỏi cách sử dụng cái findcontrol() đó như thế nào. câu nó báo lỗi là
    - Object reference not set to an instance of an object
    gợi ý sửa chữa là:
    - use the new key word to create an object instance
    Mẹ !
    Có nghĩa là mãi mãi
    Là cho - đi - không - đòi - lại - bao - giờ
    Cổ tích thường bắt đầu từ : " Ngày xưa có một công chúa ... " hay " Ngày xưa có một vị vua ... "
    Cổ tích còn bắt đầu từ : " Ngày xưa có mẹ .... "

  5. #5
    Ngày gia nhập
    04 2009
    Nơi ở
    Gầm cầu
    Bài viết
    2,230

    chào bạn !
    bạn phải duyệt theo từng row của gridview (dùng lệnh foreach) , dùng findcontrol trong từng row của nó
    regards!

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

    Mặc định Hỏi Cách sử Dụng findcontrol() trong gridview?

    à hiểu rồi. ở đây cái findcontrol nó tìm theo id của control nằm trong 1 cell của row, mà bạn lại ko biết rõ cái id nó là gì thì sao bạn tìm đúng đc. Mình khuyên bạn nên dùng
    (GridView1.Rows["index1"].Cells["index2"].Controls[0] as Label) nếu control nằm trong ô của dòng bạn insert là label còn ko thì thay Label = các control khác vd như là CheckBox,DropDownList gì đó rồi bên ngoài () thì bạn . rồi xài các thuộc tính mà đi theo các control đó thôi.
    À mà nếu trong ô ko phải là các control của asp thì bạn có thể viết Gridview1.Rows["index1"].Cells["index2"].Text luôn

  7. #7
    Ngày gia nhập
    09 2009
    Nơi ở
    My Tho, Tien Giang
    Bài viết
    12

    Trích dẫn Nguyên bản được gửi bởi zstar Xem bài viết
    chào bạn !
    bạn phải duyệt theo từng row của gridview (dùng lệnh foreach) , dùng findcontrol trong từng row của nó
    regards!
    cám ơn anh rất nhiều!!
    Mẹ !
    Có nghĩa là mãi mãi
    Là cho - đi - không - đòi - lại - bao - giờ
    Cổ tích thường bắt đầu từ : " Ngày xưa có một công chúa ... " hay " Ngày xưa có một vị vua ... "
    Cổ tích còn bắt đầu từ : " Ngày xưa có mẹ .... "

  8. #8
    Ngày gia nhập
    09 2009
    Nơi ở
    My Tho, Tien Giang
    Bài viết
    12

    Trích dẫn Nguyên bản được gửi bởi tphuong1412 Xem bài viết
    à hiểu rồi. ở đây cái findcontrol nó tìm theo id của control nằm trong 1 cell của row, mà bạn lại ko biết rõ cái id nó là gì thì sao bạn tìm đúng đc. Mình khuyên bạn nên dùng
    (GridView1.Rows["index1"].Cells["index2"].Controls[0] as Label) nếu control nằm trong ô của dòng bạn insert là label còn ko thì thay Label = các control khác vd như là CheckBox,DropDownList gì đó rồi bên ngoài () thì bạn . rồi xài các thuộc tính mà đi theo các control đó thôi.
    À mà nếu trong ô ko phải là các control của asp thì bạn có thể viết Gridview1.Rows["index1"].Cells["index2"].Text luôn
    Cám ơn anh rất nhiều, bay giờ thì mình hiểu rõ hơn về findcontrol() .
    Mẹ !
    Có nghĩa là mãi mãi
    Là cho - đi - không - đòi - lại - bao - giờ
    Cổ tích thường bắt đầu từ : " Ngày xưa có một công chúa ... " hay " Ngày xưa có một vị vua ... "
    Cổ tích còn bắt đầu từ : " Ngày xưa có mẹ .... "

  9. #9
    Ngày gia nhập
    09 2009
    Nơi ở
    My Tho, Tien Giang
    Bài viết
    12

    Hôm nay mình chuyển qua datalist đã chạy được ngon lành rồi! code mình viết hơi thô sơ hì hì!!
    Code:
     protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
        {
            string g,h,k;
            Double l;
            if (e.CommandName == "btnthemvaogiohang")
            {
                if (Session["username"] == null)
                    {
                        Response.Redirect("Defaultcustomer.aspx", false);
                    }
                    else
                    {
                
    
                        g = Session["username"].ToString();
                        h = (e.Item.FindControl("txtsoluongcanmua") as TextBox).Text;
                        k = (e.Item.FindControl("lbldongia") as Label).Text;
                         l = Convert.ToDouble(h) * Convert.ToDouble(k);
                        int id = kiemtrasp();
    
    
    
                        string strconn = "Provider = Microsoft.Jet.OLEDB.4.0;";
                        strconn += "Data Source=" + Server.MapPath("~/database.mdb");
                        OleDbConnection dbconn = new OleDbConnection(strconn);
                        dbconn.Open();
                        string strquery = "insert into GioHang ";
                        strquery += " values(" + id + ",'" + g + "','" + (e.Item.FindControl("lblmasp") as Label).Text + "','" + (e.Item.FindControl("lbltensp") as Label).Text + "','" + k + "','" + h + "','" + l + "'," + 0 + ")";
                        OleDbCommand cmd = new OleDbCommand(strquery, dbconn);
                        cmd.ExecuteNonQuery();
                        dbconn.Close();
                    }
            }
        }
    Mẹ !
    Có nghĩa là mãi mãi
    Là cho - đi - không - đòi - lại - bao - giờ
    Cổ tích thường bắt đầu từ : " Ngày xưa có một công chúa ... " hay " Ngày xưa có một vị vua ... "
    Cổ tích còn bắt đầu từ : " Ngày xưa có mẹ .... "

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

  1. Vấn đề FindControl không tìm thấy được Control vừa thêm vào gridView!
    Gửi bởi gnirt69 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: 26-05-2012, 12:48 AM
  2. Làm thế nào sử dụng FindControl trong PopupExtender Ajax Asp.net
    Gửi bởi hung04501 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 1
    Bài viết cuối: 24-04-2012, 03:41 PM
  3. FindControl TemplateField trong phương thức Post
    Gửi bởi prt_awm trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 17-03-2012, 08:19 AM
  4. Cách truyền dữ liệu trong gridview từ một gridview sang gridview mới là như thế nào ?
    Gửi bởi cuibap_sp trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 4
    Bài viết cuối: 28-10-2011, 09:42 PM
  5. Tại Sao Không FindControl Trong Datalist ASP.NET Được!?
    Gửi bởi khongyeu09 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 7
    Bài viết cuối: 18-10-2011, 02:33 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