为了账号安全,请及时绑定邮箱和手机立即绑定

使用右击菜单列表的删除删除dgvShow选中的行(dgvShow没有绑定数据库是通过List<Stu>加载数据的)

使用右击菜单列表的删除删除dgvShow选中的行(dgvShow没有绑定数据库是通过List<Stu>加载数据的)

C#
CodeSection 2015-11-14 22:23:21
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 窗体值传递{    public partial class FrmShow : Form    {        List<Stu> listStu = null;        FrmMain fMain = null;        DataTable dt = null;        int rowIndex = 0;        public FrmShow(FrmMain fMain)        {            this.fMain = fMain;            InitializeComponent();            listStu = new List<Stu>();            listStu.Add(new Stu("貂蝉", "女", "20"));            listStu.Add(new Stu("张飞", "男", "22"));            listStu.Add(new Stu("曹操", "男", "23"));            listStu.Add(new Stu("吕布", "男", "12"));            listStu.Add(new Stu("荀彧", "男", "23"));        }        private void FrmShow_Load(object sender, EventArgs e)        {            this.dgvShow.DataSource = listStu;        }        private void btnTest_Click(object sender, EventArgs e)        {            Stu s = null;            this.dt = new DataTable();            this.dt.Columns.Add("sName", Type.GetType("System.String"));            this.dt.Columns.Add("sSex", Type.GetType("System.String"));            this.dt.Columns.Add("sAge", Type.GetType("System.String"));            //int j = 0;            for (int i = 0; i < this.dgvShow.RowCount; i++)            {                bool re_value = (bool)dgvShow.Rows[i].Cells[0].EditedFormattedValue;                //判断勾选的                 if (re_value)                {                    string sName = this.dgvShow.Rows[i].Cells[1].Value.ToString();                    string sSex = this.dgvShow.Rows[i].Cells[2].Value.ToString();                    string sAge = this.dgvShow.Rows[i].Cells[3].Value.ToString();                    this.dt.Rows.Add(new object[] { sName, sSex, sAge });                }            }            if (this.dt != null)            {                //传递到主窗体,更新数据                this.fMain.Chang(this.dt);                //foreach (DataRow item in dt.Rows)                //{                //    //this.fMain.AddRow(item);                //    MessageBox.Show(item["sName"].ToString()+","+item["sSex"].ToString()+","+item["sAge"].ToString());                //}                this.Close();            }        }        private void tsmi_Del_Click(object sender, EventArgs e)//右击菜单列表的删除        {            this.rowIndex = this.dgvShow.CurrentRow.Index;            MessageBox.Show("Test:" + this.rowIndex.ToString());            /*             * 以下执行删除算法             *              * */            //使用右击菜单列表的删除删除dgvShow选中的行(dgvShow没有绑定数据库是通过List<Stu>加载数据的)            if (dgvShow != null && dgvShow.CurrentCell != null && dgvShow.CurrentCell.RowIndex != -1)            {                dgvShow.Rows.RemoveAt(dgvShow.CurrentCell.RowIndex);            } //报错            //dgvShow.Rows.RemoveAt(rowIndex);        }        private void dgvShow_CellClick(object sender, DataGridViewCellEventArgs e)        {            this.rowIndex = e.RowIndex;            bool re_value = (bool)dgvShow.Rows[this.rowIndex].Cells[0].EditedFormattedValue;            if (!re_value)            {                this.dgvShow.Rows[this.rowIndex].Cells[0].Value = true;            }            else            {                this.dgvShow.Rows[this.rowIndex].Cells[0].Value = false;            }        }        private void dgvShow_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)        {            if (e.Button == MouseButtons.Right)            {                if (e.RowIndex >= 0)                {                    dgvShow.ClearSelection();                    dgvShow.Rows[e.RowIndex].Selected = true;                    //MessageBox.Show("Test:" + e.RowIndex.ToString());                    //string i = dgvShow.SelectedCells[0].Value.ToString();                    //MessageBox.Show(i);                    dgvShow.CurrentCell = dgvShow.Rows[e.RowIndex].Cells[e.ColumnIndex];                    contextMenuStrip.Show(MousePosition.X, MousePosition.Y);                }            }        }    }}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1938 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信