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

Đề tài: Tính tích 2 giá trị trên 2 cột của datagridview?

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

    Post Tính tích 2 giá trị trên 2 cột của datagridview?

    Xin mọi người chỉ giúp,
    em có một Datagridview như thế này
    MASP TENSP SOLUONG DONGIA THANHTIEN

    Cột mã sản phẩm thì mình làm một combobox để load lên khi đó TENSP và DONGIA từ CSDL được load lên và cột SOLUONG thì nhập tay vào.
    Mình muốn THANHTIEN tự động tính và hiện ra khi nhập số lượng vào.

    Visual C# Code:
    1.         private void dataGridViewX1__CellEndEdit(object sender, DataGridViewCellEventArgs e)
    2.         {
    3.             if (e.ColumnIndex == 0)
    4.             {
    5.                 string t = (string)((DataGridView)sender).CurrentCell.FormattedValue;
    6.                 DataTable tb1 = TRUYXUATCSDL.GetDulieu("Select * from SANPHAM where MASP='" + t.Trim() + "'");
    7.                 ((DataGridView)sender).Rows[e.RowIndex].Cells[1].Value = tb1.Rows[0][1].ToString();
    8.                 ((DataGridView)sender).Rows[e.RowIndex].Cells[3].Value = tb1.Rows[0][5].ToString();
    9.                 int GANSOLUONG = 0;
    10.                 int GANDONGIA = 0;
    11.                 int.TryParse(SOLUONG.ToString(), out GANSOLUONG);
    12.                 int.TryParse(DONGIA.ToString(), out GANDONGIA);
    13.                 int ganthanhtien = GANSOLUONG * GANDONGIA;
    14.                 ((DataGridView)sender).Rows[e.RowIndex].Cells[4].Value = ganthanhtien.ToString();
    15.             }
    16.  
    17.         }
    Mình làm như thế này nhưng không được mong mọi người chỉ giúp.
    Mình đang rất cần vì đang làm đồ án mong nhận được sự trả lời sớm.
    Cảm ơn mọi người rất nhiều.
    Attached Thumbnails Attached Thumbnails hoadon.jpg  

  2. #2
    Ngày gia nhập
    06 2011
    Bài viết
    277

    Bạn viết trong CellEndEdit là đúng rùi!!

    Mình ko hiểu sao bạn lại lấy e.columnindex == 0, như thế là nó chỉ kiểm tra ở mỗi cột == 0 thui sao??

    Bạn có thể làm đơn giản thế này thui

    Visual C# Code:
    1.  if (dataGridViewX.CurrentRow.Cells[0].Value != null && dataGridViewX.CurrentRow.Cells[2].Value != null &&  && dataGridViewX.CurrentRow.Cells[2].Value.ToString() != "")
    2.                 {
    3.  
    4.                     dataGridViewX.CurrentRow.Cells[4].Value = (int.Parse(dataGridViewX.CurrentRow.Cells[2].Value.ToString()) * double.Parse(dataGridViewX.CurrentRow.Cells[3].Value.ToString()));
    Ở đây cột 0 là cột đầu tiên phải có giá trị (để xác định dòng đó ko phải là dòng rỗng).

    Cột 2 là cột số lượng cũng tương tự.

    Côt 3 là đơn giá, cột 4 là thành tiền!! Đơn giản mà phải ko??? Chúng vui vẻ ^^!
    Sống là để cho đi và ...... Nhận lại

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

    Cảm ơn bạn linhgl88 mình đã làm được rồi.

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

    Xin lỗi nhé đào mộ.... Hix hix
    Các tiền bối ơi chỉ em cách giải quyết vấn đề này với:
    Tình hình là em sử dụng code:
    C Code:
    1.  DataSachNhap.CurrentRow.Cells[4].Value = (double.Parse(DataSachNhap.CurrentRow.Cells[2].Value.ToString()) * double.Parse(DataSachNhap.CurrentRow.Cells[3].Value.ToString()));

    Kết quả: nó chỉ tính mỗi 1 dòng đầu tiên thôi, vậy để nó tính hết các dòng trong DataGirdView thì làm thế nào ạ.
    hix hix xin lỗi vì trình độ em còn kém lắm.

  5. #5
    Ngày gia nhập
    11 2012
    Nơi ở
    Ở nhà
    Bài viết
    180

    Bạn sao phải mệt nhọc thế làm gì. Sao bạn không tính trong câu lệnh sql rồi mới đổ ra datagrid thế có phải gọn hơn không.
    Ví dụ bạn cần tính lương cho nhân viên bằng phụ cấp cộng thực lĩnh, ví dụ thế nhá cái khác bạn làm tương tự.


    SqlConnect con = // kết nối cơ sở dữ liệu rồi không nói đến.
    con.open();
    SqldataAdapter ad = new SqldataAdapter("select tennhanvien, phucap, luong, (phucap + luong) as thuclinh ",con);
    DataTable dt = new DataTable();
    ad.Fill(dt);
    datagrid.Datasour = dt;

    kiểu thế này này. Mình viết ngữ pháp chưa chuẩn lắm các pro bỏ qua nhá. Bạn có thể thử cách của mình

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

  1. Lưu vị trí được chọn trên dataGridView bằng cách nào?
    Gửi bởi conan198 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 15-11-2012, 01:48 AM
  2. Database Sắp xếp row trên Datagridview C# bằng cách nào?
    Gửi bởi Lnoey trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 17
    Bài viết cuối: 05-11-2012, 06:47 PM
  3. Lưu vị trí được chọn trên DataGridview với lập trình C#?
    Gửi bởi kittynguyen89 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 26-03-2011, 08:10 PM
  4. datagridview biến mất vùng đen trên datagridview ?
    Gửi bởi zstar trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 18-10-2009, 02:32 PM
  5. Xử lý DatagridView trên C#
    Gửi bởi tesulakata 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: 21-04-2009, 09:13 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