Files
friction/PanelResult.cs
mjjo53 760ce6abc2 - 툴바 아이콘 지정
- 메뉴바 테마 적용
- 메뉴바 기능 연결
- 파일 로딩 후 기능들 연결
2017-06-20 03:52:08 +09:00

89 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
namespace friction
{
public partial class PanelResult : DockContent
{
MainForm m_Owner = null;
public PanelResult(MainForm owner)
{
InitializeComponent();
m_Owner = owner;
Theme.Apply(this);
Theme.Apply(dgvData);
Theme.Apply(lvColumn);
dgvData.CellFormatting += DgvData_CellFormatting;
}
private void DgvData_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
DataGridViewRow row = dgvData.Rows[e.RowIndex];
if(e.ColumnIndex == row.Cells["Risk priority number"].ColumnIndex)
{
if ((float)e.Value <= 3)
e.CellStyle.BackColor = Theme.Green;
else if ((float)e.Value <= 5)
e.CellStyle.BackColor = Theme.Yellow;
else
e.CellStyle.BackColor = Theme.Red;
}
}
public void UpdateData(DataHandler data)
{
dgvData.DataSource = data.GetData();
Dictionary<string, bool> CacheChecked = new Dictionary<string, bool>();
foreach (ListViewItem item in lvColumn.Items)
{
string key = item.SubItems[0].Text;
bool bChecked = item.Checked;
CacheChecked.Add(key, bChecked);
}
lvColumn.Groups[0].Items.Clear();
lvColumn.Groups[1].Items.Clear();
lvColumn.Items.Clear();
List<List<string>> Columns = new List<List<string>>() { data.GetActiveColumns(), data.GetNonactiveColumns() };
for(int iGroup=0; iGroup<Columns.Count; iGroup++)
{
foreach(string col in Columns[iGroup])
{
ListViewItem item = new ListViewItem(new string[] { col });
item.Text = col;
if (CacheChecked.ContainsKey(col) == true)
item.Checked = CacheChecked[col];
else if (iGroup == 0)
item.Checked = true;
else
item.Checked = false;
lvColumn.Items.Add(item);
lvColumn.Groups[iGroup].Items.Add(item);
}
}
}
private void lvColumn_ItemChecked(object sender, ItemCheckedEventArgs e)
{
string strColName = e.Item.SubItems[0].Text;
bool bShow = e.Item.Checked;
dgvData.Columns[strColName].Visible = bShow;
}
}
}