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

Đề tài: Chức năng MoveLast của bindingNavigator không hoạt động??

  1. #1
    Ngày gia nhập
    04 2012
    Bài viết
    6

    Mặc định Chức năng MoveLast của bindingNavigator không hoạt động??

    Mình làm 1 form quản lý học sinh ,Mình thao tác với csdl bằng Databinding . Nhưng khi thêm 1 dòng mới,sao mình dùng:
    Code:
    bindingNavigator1.BindingSource.MoveLast();
    để di chuyển tới dòng cuối cùng của DatagridView mà không được,mặc dù mình dùng
    Code:
    bindingNavigator1.BindingSource.MoveNext();
    vẫn bình thường
    Các bạn giúp mình khắc phục cái ! Mình chân thành cảm ơn!

  2. #2
    Ngày gia nhập
    11 2008
    Nơi ở
    An Giang
    Bài viết
    502

    Bạn miêu tả thế mọi người cũng khó có thể đoán đc bị cái gì. Bạn có thể Up code lên để mọi người xem đc ko ?

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

    code đây bạn :
    Code:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using DevComponents.DotNetBar;
    using DA_CNPM.BussinessLogicLayer;
    
    namespace DA_CNPM
    {
        public partial class frmHocSinh : DevComponents.DotNetBar.Office2007Form
        {
            hocSinhBll hocSinh = new hocSinhBll();
            lopBll lop1 = new lopBll();
            khoiBll khoi1 = new khoiBll();
            banHocBll ban1 = new banHocBll();
            danTocBll dantoc1 = new danTocBll();
            tonGiaoBll tonGiao1 = new tonGiaoBll();
            DataTable tableHocSinh;
    
            public frmHocSinh()
            {
                InitializeComponent();
            }
    
            private void frmHocSinh_Load(object sender, EventArgs e)
            {
                
                
    
                //load dl len control
                lop1.hienThiComboBox(cbLop);
                //khoi1.hienThiComboBox(cbKhoi);
                //ban1.hienThiComboBox(cbBan);
                dantoc1.hienThiComboBox(cbDanToc);
                tonGiao1.hienThiComboBox(cbTonGiao);
    
                //load combo len datagridview
                lop1.hienThiDataGridViewComboBoxColumn(colLop);
                //khoi1.hienThiDataGridViewComboBoxColumn(colKhoi);
                //ban1.hienThiDataGridViewComboBoxColumn(colBan);
                dantoc1.hienThiDataGridViewComboBoxColumn(colDanToc);
                tonGiao1.hienThiDataGridViewComboBoxColumn(colTonGiao);
                //lay dl
                tableHocSinh = hocSinh.layDSHocSinh();
    
                BindingSource bs = new BindingSource();
                bs.DataSource = tableHocSinh;
    
                //binding dl len control
                tbMaHS.DataBindings.Add("Text", bs, "maHocSinh");
                tbHoTen.DataBindings.Add("Text", bs, "hoTen");
                tbDiaChi.DataBindings.Add("Text", bs, "diaChi");
                tbNoiSinh.DataBindings.Add("Text", bs, "noiSinh");
                tbHoKhau.DataBindings.Add("Text", bs, "hoKhau");
                tbGhiChu.DataBindings.Add("Text", bs, "ghiChu");
                
                tbHoTenCha.DataBindings.Add("Text", bs, "hoTenBo");
                tbHoTenMe.DataBindings.Add("Text", bs, "hoTenMe");
                tbNamSinhBo.DataBindings.Add("Value", bs, "namSinhBo");
                tbNamSinhMe.DataBindings.Add("Value", bs, "namSinhMe");
                tbNgheBo.DataBindings.Add("Text", bs, "ngheBo");
                tbNgheMe.DataBindings.Add("Text", bs, "ngheMe");
                
                tbSoDienThoai.DataBindings.Add("Text", bs, "soDienThoai");
                tbNgaySinh.DataBindings.Add("Value", bs, "ngaySinh");
    
                chbGioiTinh.DataBindings.Add("Checked", bs, "gioiTinh");
                
    
                cbLop.DataBindings.Add("SelectedValue", bs, "maLop");
                //cbKhoi.DataBindings.Add("SelectedValue", bs, "maKhoi");
                //cbBan.DataBindings.Add("SelectedValue", bs, "maBan");
                cbDanToc.DataBindings.Add("SelectedValue", bs, "maDanToc");
                cbTonGiao.DataBindings.Add("SelectedValue", bs, "maTonGiao");
                
                //load navu
                bindingNavigator1.BindingSource = bs;
                dataGridViewX1.DataSource = bs ;
    
            }
    
           
    
            private void bindingNavigatorAddNewItem_Click_1(object sender, EventArgs e)
            {
                DataRow dr = tableHocSinh.NewRow();
                dr["maHocSinh"] = hocSinh.NextID();
                dr["hoTen"] = "";
                dr["diaChi"] = "";
                dr["noiSinh"] = "";
                dr["hoKhau"] = "";
                dr["ghiChu"] = "";
                dr["hoTenBo"] = "";
                dr["hoTenMe"] = "";
                dr["ngheBo"] = "";
                dr["ngheMe"] = "";
                dr["soDienThoai"] = "";
                dr["ngaySinh"] = DateTime.Today;
                dr["namSinhBo"] = DateTime.Today;
                dr["namSinhMe"] = DateTime.Today;
                dr["maLop"] = "";
                dr["maDanToc"] = "";
                dr["maTonGiao"] = "";
                tableHocSinh.Rows.Add(dr);
                //bindingNavigator1.BindingSource.MoveLast();
                bindingNavigator1.BindingSource.MoveNext();//chuc nang nay chay binh thuong
                //resetText();
    
            }
    
            private void btnSave_Click(object sender, EventArgs e)
            {
                if (MessageBox.Show("Bạn có muốn lưu những thay đổi?", "Hỏi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    //ta thuc hien viec update
    
                    int numRecord = hocSinh.saveAll();
                    if (numRecord <= 0)
                        MessageBox.Show("Lưu thất bại!");
                }
            }
    
            private void btnExit_Click(object sender, EventArgs e)
            {
                this.Close();
            }
    
           
            
            
        }
    }

    Hình ảnh form sau khi mình add new

  4. #4
    Ngày gia nhập
    11 2008
    Nơi ở
    An Giang
    Bài viết
    502

    Lúc thực hiện chức năng nó có báo lỗi gì ko. Theo mình nghĩ thì lúc Addrow mới vào Table nó chưa cật nhật vào DataGridView. Bạn có set thuộc tính AllowToUsserAddRow là true ko. Nếu ko đc thì bạn thữ sử dụng DataGridView.Row[index cuối ].Selected = true xem.

  5. #5
    Ngày gia nhập
    04 2012
    Bài viết
    6

    Chức năng MoveNext() thực hiện bình thường mà bạn . Lúc mình nhấn hàng cần nhập dl vào thì nó vẫn chưa load lên được(các hàng đã có trong csdl thì bình thường),ý mình là muốn nhập dl ở trên các textbox... cho dễ hơn . Ko load lên dc nên mình phải nhập dl ở datagridview luôn,nhập xong lưu dl được bình thường . còn cái AllowUserAddRows thì mặc định dc set bằng true rồi
    Đã được chỉnh sửa lần cuối bởi tuan08t2 : 09-05-2012 lúc 03:22 PM.

  6. #6
    Ngày gia nhập
    04 2012
    Bài viết
    6

    Mặc định Chức năng MoveLast của bindingNavigator không hoạt động??

    Hic,do ko sửa được lỗi của vấn đề trên nên mình đã chuyển sang sử dụng linq,hầu hết các chức năng chạy ngon lành .Ý tưởng của mình là khi chọn lớp từ comboxBox lớp thì DatagridView sẽ hiển thị dl tương ứng với học sinh của lớp đó nhưng sao khi chạy lại bị lỗi "Object reference not set to an instance of an object." khi mình lấy giá trị từ comboBoxLop . Các bạn giúp mình cách khắc phục với ,mình cám ơn!
    Code :
    Code:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Linq;
    using DevComponents.DotNetBar;
    using DA_CNPM.BussinessLogicLayer;
    using DA_CNPM.DataAccessLayer;
    
    namespace DA_CNPM
    {
        public partial class frmHocSinhLinq : DevComponents.DotNetBar.Office2007Form
        {
            QuanLyHSGVDataContext dataBase = new QuanLyHSGVDataContext();
            hocSinhBll hocSinh1 = new hocSinhBll();
            lopBll lop1 = new lopBll();
            khoiBll khoi1 = new khoiBll();
            banHocBll ban1 = new banHocBll();
            danTocBll dantoc1 = new danTocBll();
            tonGiaoBll tonGiao1 = new tonGiaoBll();
            bool them = false;
            string maL = "L001";
            public frmHocSinhLinq()
            {
                InitializeComponent();
            }
    
            private void frmHocSinhLinq_Load(object sender, EventArgs e)
            {
                //load dl len control
                lop1.hienThiComboBox(cbLop);
                dantoc1.hienThiComboBox(cbDanToc);
                tonGiao1.hienThiComboBox(cbTonGiao);
    
                //load combo len datagridview
                lop1.hienThiDataGridViewComboBoxColumn(colLop);
                dantoc1.hienThiDataGridViewComboBoxColumn(colDanToc);
                tonGiao1.hienThiDataGridViewComboBoxColumn(colTonGiao);
                //load dl len datagrid
                ////maL = cbLop.SelectedValue.ToString();
                dataGridViewX1.DataSource = dataBase.hocSinhs.Where(l => l.maLop == "L001").ToList();
                
            }
            private void resetText()
            {
                tbMaHS.Text = hocSinh1.NextID();
                tbDiaChi.Text = "";
                tbGhiChu.Text = "";
                tbHoKhau.Text = "";
                tbHoTen.Text = "";
                tbHoTenCha.Text = "";
                tbHoTenMe.Text = "";
                tbNamSinhBo.Value = DateTime.Today;
                tbNamSinhMe.Value = DateTime.Today;
                tbNgaySinh.Value = DateTime.Today;
                tbNgheBo.Text = "";
                tbNgheMe.Text = "";
                tbNoiSinh.Text = "";
                tbSoDienThoai.Text = "";
               
            }
    
            private void dataGridViewX1_RowEnter(object sender, DataGridViewCellEventArgs e)
            {
                //dòng hiện tại
                int dong = e.RowIndex;
                tbMaHS.Text = dataGridViewX1.Rows[dong].Cells["colMaHS"].Value.ToString();
                tbHoTen.Text = dataGridViewX1.Rows[dong].Cells["colHoTen"].Value.ToString();
                chbGioiTinh.CheckValue = int.Parse(dataGridViewX1.Rows[dong].Cells["colGioiTinh"].Value.ToString());
                cbDanToc.SelectedValue = dataGridViewX1.Rows[dong].Cells["colDanToc"].Value.ToString();
                cbTonGiao.SelectedValue = dataGridViewX1.Rows[dong].Cells["colTonGiao"].Value.ToString();
                tbHoTenCha.Text = dataGridViewX1.Rows[dong].Cells["colHoTenBo"].Value.ToString();
                tbHoTenMe.Text = dataGridViewX1.Rows[dong].Cells["colHoTenMe"].Value.ToString();
                tbGhiChu.Text = dataGridViewX1.Rows[dong].Cells["colGhiChu"].Value.ToString();
                tbHoKhau.Text = dataGridViewX1.Rows[dong].Cells["colHoKhau"].Value.ToString();
                tbNamSinhBo.Text = dataGridViewX1.Rows[dong].Cells["colNamSinhBo"].Value.ToString();
                tbNamSinhMe.Text = dataGridViewX1.Rows[dong].Cells["colNgaySinhMe"].Value.ToString();
                tbNgaySinh.Text= dataGridViewX1.Rows[dong].Cells["colNgaySinh"].Value.ToString();
                tbNgheBo.Text = dataGridViewX1.Rows[dong].Cells["colNgheBo"].Value.ToString();
                tbNgheMe.Text = dataGridViewX1.Rows[dong].Cells["colNgheMe"].Value.ToString();
                tbNoiSinh.Text = dataGridViewX1.Rows[dong].Cells["colNoiSinh"].Value.ToString();
                tbSoDienThoai.Text = dataGridViewX1.Rows[dong].Cells["colDienThoai"].Value.ToString();
                tbDiaChi.Text = dataGridViewX1.Rows[dong].Cells["colDiaChi"].Value.ToString();
            }
    
            private void buttonAdd_Click(object sender, EventArgs e)
            {
                them = true;
                resetText();
                buttonSave.Enabled = true;
                
    
            }
    
            private void buttonSave_Click(object sender, EventArgs e)
            {
                if (them == true)
                {
                    hocSinh hs = new hocSinh();
                    layDuLieuDeLuu(hs);
                    dataBase.hocSinhs.InsertOnSubmit(hs);
                    dataBase.SubmitChanges();
                    them = false;
                }
                else
                {
                    hocSinh hs = dataBase.hocSinhs.Where(p => p.maHocSinh == tbMaHS.Text).FirstOrDefault();
                    layDuLieuDeLuu(hs);
                    dataBase.SubmitChanges();
                }
                dataGridViewX1.DataSource = dataBase.hocSinhs.Where(l => l.maLop == maL).ToList();
            }
    
            private void buttonExit_Click(object sender, EventArgs e)
            {
                this.Close();
            }
    
            private void buttonDelete_Click(object sender, EventArgs e)
            {
                if (MessageBox.Show("Bạn có muốn xóa không?", "Xóa dữ liệu", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    hocSinh hs = dataBase.hocSinhs.Where(p => p.maHocSinh == tbMaHS.Text).FirstOrDefault();
                    dataBase.hocSinhs.DeleteOnSubmit(hs);
                    dataBase.SubmitChanges();
                    dataGridViewX1.DataSource = dataBase.hocSinhs.Where(l => l.maLop == maL).ToList();
                }
            }
            private void layDuLieuDeLuu(hocSinh hs)
            {
                hs.maHocSinh = tbMaHS.Text;
                hs.maDanToc = cbDanToc.SelectedValue.ToString();
                hs.maLop = cbLop.SelectedValue.ToString();
                hs.maTonGiao = cbTonGiao.SelectedValue.ToString();
                hs.ghiChu = tbGhiChu.Text;
                if (chbGioiTinh.CheckValue.ToString().Equals("Y"))
                    hs.gioiTinh = 1;
                else
                    hs.gioiTinh = 0;
                hs.hoKhau = tbHoKhau.Text;
                hs.hoTen = tbHoTen.Text;
                hs.hoTenBo = tbHoTenCha.Text;
                hs.hoTenMe = tbHoTenMe.Text;
                hs.namSinhBo = tbNamSinhBo.Value;
                hs.namSinhMe = tbNamSinhMe.Value;
                hs.ngaySinh = tbNgaySinh.Value;
                hs.ngheBo = tbNgheBo.Text;
                hs.ngheMe = tbNgheMe.Text;
                hs.noiSinh = tbNoiSinh.Text;
                hs.soDienThoai = tbSoDienThoai.Text;
                hs.diaChi = tbDiaChi.Text;
            }
    
            private void cbLop_SelectedIndexChanged(object sender, EventArgs e)
            {
                
                dataGridViewX1.DataSource = dataBase.hocSinhs.Where(l => l.maLop == cbLop.SelectedValue.ToString()).ToList();
                labelX7.Text = cbLop.SelectedValue.ToString();[COLOR="rgb(139, 0, 0)"]//cái này hoạt động bình thường khi ko có dòng trên[/COLOR]
            }
    
            private void dataGridViewX1_DataError(object sender, DataGridViewDataErrorEventArgs er)
            {
                MessageBox.Show("Lỗi: " + er.ToString());
            }
    
        }
    }
    Hình ảnh form khi start debugging :





    Khi bỏ load datagridview trong sự kiện comboBox :
    Code:
    private void cbLop_SelectedIndexChanged(object sender, EventArgs e)
            {
                
                //dataGridViewX1.DataSource = dataBase.hocSinhs.Where(l => l.maLop == cbLop.SelectedValue.ToString()).ToList();
                labelX7.Text = cbLop.SelectedValue.ToString();
            }
    Đã được chỉnh sửa lần cuối bởi tuan08t2 : 10-05-2012 lúc 12:03 AM.

  7. #7
    Ngày gia nhập
    05 2013
    Nơi ở
    Bôn ba
    Bài viết
    7

    bác chủ theart làm ngon lành chưa? nếu được cho em xin code thêm, Xóa ,Lưu trên cái thanh bindingnavigator với!

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

  1. MSI Ra Mắt Card Đồ Hoạ GeForce GTX 760 Gaming cho hiệu năng chơi game tối ưu
    Gửi bởi msi.vietnam 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: 27-06-2013, 08:49 AM
  2. Code bằng tay sử dụng công cụ bindingnavigator
    Gửi bởi 49cntt trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 12-05-2013, 11:32 AM
  3. Dùng BindingNavigator không update được xuống database
    Gửi bởi aydada trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 11-04-2013, 10:40 AM
  4. Sự cố Chức năng search không hoạt động?
    Gửi bởi pctester2020 trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 0
    Bài viết cuối: 09-09-2010, 10:56 AM
  5. Chương trình kích hoạt chức năng Hibernate của Windows trong lập trình C#
    Gửi bởi minhdanh3387 trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 5
    Bài viết cuối: 11-07-2007, 11:08 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