You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.1 KiB
C#

// <copyright file="FrmSelectColumn.cs" company="jindongfang">
// Copyright (c) jindongfang. All rights reserved.
// </copyright>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace WellWorkDataUI
{
/// <summary>
/// FrmSelectColumn
/// </summary>
public partial class FrmSelectColumn : DevExpress.XtraEditors.XtraForm
{
private readonly List<FrmDataViewer.ColumnData> columns;
/// <summary>
/// SelectedColumns
/// </summary>
public List<FrmDataViewer.ColumnData> SelectedColumns { get; } = new List<FrmDataViewer.ColumnData>();
/// <summary>
/// Initializes a new instance of the <see cref="FrmSelectColumn"/> class.
/// </summary>
/// <param name="columns">columns</param>
public FrmSelectColumn(List<FrmDataViewer.ColumnData> columns)
{
this.InitializeComponent();
this.columns = columns;
this.checkedListBoxControl.DataSource = columns;
}
private void btnOK_Click(object sender, EventArgs e)
{
var list = this.checkedListBoxControl.CheckedItems.OfType<FrmDataViewer.ColumnData>().ToList();
this.SelectedColumns.AddRange(list);
this.DialogResult = DialogResult.OK;
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
}
private void btnReverseCheck_Click(object sender, EventArgs e)
{
for (int i = 0; i < this.checkedListBoxControl.ItemCount; i++)
{
bool bCheck = this.checkedListBoxControl.GetItemChecked(i);
this.checkedListBoxControl.SetItemChecked(i, !bCheck);
}
}
private void btnUncheckAll_Click(object sender, EventArgs e)
{
this.checkedListBoxControl.UnCheckAll();
}
private void btnCheckAll_Click(object sender, EventArgs e)
{
this.checkedListBoxControl.CheckAll();
}
}
}