Winform dataGridView 用法

//方法一 表头调换, 后台调用 

this.dataGridView1.Columns["ProductName"].DisplayIndex = 0;

 

//方法二  表头调换,属性设置, 页面上拖拽

this.dataGridView1.AllowUserToOrderColumns = true;

 

//3.时间控件默认为空

复制代码
public WeighRecord()
{
InitializeComponent();

this.RecordTimepx.Format = DateTimePickerFormat.Custom;
this.RecordTimepx.CustomFormat = " ";

}

private void RecordTimepx_ValueChanged(object sender, EventArgs e)
{
this.RecordTimepx.Format = DateTimePickerFormat.Long;
this.RecordTimepx.CustomFormat = null;
}
复制代码

 

 

//4.弹出窗口

复制代码

       private void ShowSetBtn_Click(object sender, EventArgs e)
       {

            //传入值
            var childList = new List<TableHeader>();
            var headsSet = new WeighRecordSet(childList);
            //事件+回传值
            headsSet.itemTextChanged += new EventHandler((sender1, e1) =>
            {
                childList = headsSet.list; //回传值   ///其他逻辑 刷新页面啥的
            });

            //弹出窗体
            headsSet.ShowDialog();            
}
复制代码
复制代码
  public partial class WeighRecordSet : Form
    {
        public List<TableHeader> list { get; set; }
        public event EventHandler itemTextChanged;
        public WeighRecordSet()
        {
            InitializeComponent();
        }

        public WeighRecordSet(List<TableHeader> list)
        {
            InitializeComponent();
        }

        //确定
        private void SaveBtn_Click(object sender, EventArgs e)
        {
            //事件
            if (itemTextChanged != null)
            {
                itemTextChanged(this, e);
            }
            this.Close();
        }
    }
复制代码

 

// 5.dataGridView  单元格修改前后

复制代码
        //修改前
        string strBefore = "";
        private void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
        {
//选择行
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; strBefore = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(); string strField = this.dataGridView1.Columns[e.ColumnIndex].DataPropertyName; MessageBox.Show("修改前=" + strBefore); } //修改后 private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) { string strAfter = this.dataGridView1.CurrentRow.Cells[e.ColumnIndex].Value.ToString(); if (strAfter == strBefore) { return; } MessageBox.Show("修改后=" + strAfter); }
复制代码

 //6.弹出是否删除对话框

 MessageBoxButtons btn = MessageBoxButtons.YesNo;
            if (MessageBox.Show("确定要删除么?", "删除数据", btn) == DialogResult.Yes)
            {
            }

 

posted @   cclon  阅读(1710)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示