![]()
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();
}
}