• Winform dataGridView 表头展示隐藏 和 位置调用 用法


      public partial class WeighRecord : Form
        {
            WeighRecordSet headsSet = null;
            public WeighRecord()
            {
                InitializeComponent();
    
                this.RecordTimepx.Format = DateTimePickerFormat.Custom;
                this.RecordTimepx.CustomFormat = " ";
                this.GrossTimepx.Format = DateTimePickerFormat.Custom;
                this.GrossTimepx.CustomFormat = " ";
                this.TareTimepx.Format = DateTimePickerFormat.Custom;
                this.TareTimepx.CustomFormat = " ";
                
                //测试数据
                //var list = new List<WeighRecordDto>();
                //list.Add(new WeighRecordDto() { Number = 1 });
                //list.Add(new WeighRecordDto() { Number = 2 });
                //list.Add(new WeighRecordDto() { Number = 3 });
                //list.Add(new WeighRecordDto() { Number = 4 });
                //list.Add(new WeighRecordDto() { Number = 5 });
    
                //this.dataGV.DataSource = list;
            }
    
            private void RecordTimepx_ValueChanged(object sender, EventArgs e)
            {
                this.RecordTimepx.Format = DateTimePickerFormat.Long;
                this.RecordTimepx.CustomFormat = null;
            }
    
            private void GrossTimepx_ValueChanged(object sender, EventArgs e)
            {
                this.GrossTimepx.Format = DateTimePickerFormat.Long;
                this.GrossTimepx.CustomFormat = null;
            }
    
            private void TareTimepx_ValueChanged(object sender, EventArgs e)
            {
                this.TareTimepx.Format = DateTimePickerFormat.Long;
                this.TareTimepx.CustomFormat = null;
            }
            //查询
            private void SearchBtn_Click(object sender, EventArgs e)
            {
    
            }
    
            //显示设置
            List<TableHeader> childList = null;
            private void ShowSetBtn_Click(object sender, EventArgs e)
            {
                //填充值
                if (childList == null)
                {
                    childList = new List<TableHeader>();
                    for (var i = 0; i < this.WeighTable.Columns.Count; i++)
                    {
                        if (this.WeighTable.Columns[i].Visible)
                        {
                            childList.Add(new TableHeader()
                            {
                                Name = this.WeighTable.Columns[i].HeaderText,
                                Choice = this.WeighTable.Columns[i].Visible,
                            });
                        }
                    }
                }
    
                //传入值
                headsSet = new WeighRecordSet(childList);
                //回传值
                headsSet.itemTextChanged += new EventHandler((sender1, e1) =>
                {
                    childList = headsSet.list; //回传值
                    for (var j = 0; j < headsSet.list.Count; j++)
                    {
                        var item = headsSet.list[j];
                        for (var i = 0; i < this.WeighTable.Columns.Count; i++)
                        {
                            if (this.WeighTable.Columns[i].HeaderText == item.Name)
                            {
                                this.WeighTable.Columns[i].DisplayIndex = j;
                                this.WeighTable.Columns[i].Visible = item.Choice;
                                break;
                            }
                        }
                    }
                });
    
                //弹出窗体
                headsSet.ShowDialog();
            }
        }
      public partial class WeighRecordSet : Form
        {
            public List<TableHeader> list { get; set; }
            public event EventHandler itemTextChanged;
            public WeighRecordSet()
            {
                InitializeComponent();
                list = new List<TableHeader>();
                list.Add(new TableHeader() { Name = "序号" });
                list.Add(new TableHeader() { Name = "车牌号" });
                list.Add(new TableHeader() { Name = "司机" });
                list.Add(new TableHeader() { Name = "货品" });
                list.Add(new TableHeader() { Name = "毛重" });
                list.Add(new TableHeader() { Name = "皮重" });
                list.Add(new TableHeader() { Name = "净重" });
                list.Add(new TableHeader() { Name = "扣重" });
                list.Add(new TableHeader() { Name = "实重" });
                list.Add(new TableHeader() { Name = "毛重时间" });
                list.Add(new TableHeader() { Name = "皮重时间" });
                list.Add(new TableHeader() { Name = "单号" });
                list.Add(new TableHeader() { Name = "皮重司磅员" });
                list.Add(new TableHeader() { Name = "毛重司磅员" });
                list.Add(new TableHeader() { Name = "记录时间" });
    
                //list.Add(new TableHeader() { Name = "单价" });
                //list.Add(new TableHeader() { Name = "总价" });
                //list.Add(new TableHeader() { Name = "浓度" });
                //list.Add(new TableHeader() { Name = "体积" });
    
                list.Add(new TableHeader() { Name = "单价(元)" });
                list.Add(new TableHeader() { Name = "总价(元)" });
                list.Add(new TableHeader() { Name = "浓度(kg/L)" });
                list.Add(new TableHeader() { Name = "体积(L)" });
    
                for (var i = 0; i < list.Count; i++)
                {
                    this.HeaderLv.Items.Add(list[i].Name);
                    this.HeaderLv.Items[i].Checked = list[i].Choice;
                }
                
            }
    
            public WeighRecordSet(List<TableHeader> list)
            {
                InitializeComponent();
                for (var i = 0; i < list.Count; i++)
                {
                    this.HeaderLv.Items.Add(list[i].Name);
                    this.HeaderLv.Items[i].Checked = list[i].Choice;
                }
            }
    
            //上移
            private void UpperBtn_Click(object sender, EventArgs e)
            {
                if (this.HeaderLv.SelectedItems.Count == 0)
                {
                    return;
                }
    
                HeaderLv.BeginUpdate();
    
                if (this.HeaderLv.SelectedItems[0].Index > 0)
                {
                    foreach (ListViewItem var in HeaderLv.SelectedItems)
                    {
                        ListViewItem item = var;
                        int indexSelectedItem = var.Index;
                        HeaderLv.Items.RemoveAt(indexSelectedItem);
                        HeaderLv.Items.Insert(indexSelectedItem - 1, item);
                    }
                }
                HeaderLv.EndUpdate();
    
                if (HeaderLv.Items.Count > 0 && HeaderLv.SelectedItems.Count > 0)
                {
                    HeaderLv.Focus();
                    HeaderLv.SelectedItems[0].Focused = true;
                    HeaderLv.SelectedItems[0].EnsureVisible();
                }
    
            }
            //下移
            private void UnderBtn_Click(object sender, EventArgs e)
            {
                if (this.HeaderLv.SelectedItems.Count == 0)
                {
                    return;
                }
                this.HeaderLv.BeginUpdate();
                int indexMaxSelectedItem = HeaderLv.SelectedItems[HeaderLv.SelectedItems.Count - 1].Index;
    
                if (indexMaxSelectedItem < HeaderLv.Items.Count - 1)
                {
                    for (int i = this.HeaderLv.SelectedItems.Count - 1; i >= 0; i--)
                    {
                        ListViewItem item = this.HeaderLv.SelectedItems[i];
                        int indexSelectedItem = item.Index;
                        HeaderLv.Items.RemoveAt(indexSelectedItem);
                        HeaderLv.Items.Insert(indexSelectedItem + 1, item);
                    }
                }
                HeaderLv.EndUpdate();
    
                if (HeaderLv.Items.Count > 0 && HeaderLv.SelectedItems.Count > 0)
                {
                    HeaderLv.Focus();
                    HeaderLv.SelectedItems[HeaderLv.SelectedItems.Count - 1].Focused = true;
                    HeaderLv.SelectedItems[HeaderLv.SelectedItems.Count - 1].EnsureVisible();
                }
    
            }
            //确定
            private void SaveBtn_Click(object sender, EventArgs e)
            {
                list = new List<TableHeader>();
                for (var i = 0; i < this.HeaderLv.Items.Count; i++)
                {
                    list.Add(new TableHeader()
                    {
                        Name = this.HeaderLv.Items[i].Text,
                        Choice = this.HeaderLv.Items[i].Checked,
                    });
                }
                if (!list.Exists(s => s.Choice))
                {
                    MessageBox.Show("请至少勾上一列!");
                    return;
                }
                //事件
                if (itemTextChanged != null)
                {
                    itemTextChanged(this, e);
                }
                this.Close();
            }
        }
  • 相关阅读:
    Linux下安装Tomcat服务器和部署Web应用
    全链路压测
    性能测试二八原则,响应时间2/5/8原则
    chromedriver、firefox-geckodriver、iedriver下载链接
    selenium3+python3环境搭建
    SQL注入原理
    loadrunner之header相关,token等
    安全测试——利用Burpsuite密码爆破(Intruder入侵)
    性能测试之系统架构分析
    性能测试性能分析与调优的原理
  • 原文地址:https://www.cnblogs.com/chxl800/p/13754689.html
Copyright © 2020-2023  润新知