Language/C# 41

[C#] chart addXY zero point not showing

DataPoint dummyPoint = new DataPoint(1, 0); dummyPoint.Color = Color.Transparent; Chart1.Series[0].Points.Add(dummyPoint); 차트에서 Chart1.Series[0].Points.AddXY(0, 어떤값) 이 들어가면 x축상에서 0 에 위치한게 아니라 1에 위치한 값으로 나타나는 에러 해결 방법 -> dummy point 를 넣어준다 [Solved] Point series incorrectly placing XValue at 1 instead of 0 - CodeProject [Solved] Point series incorrectly placing XValue at 1 instead of 0 - CodeProje..

Language/C# 2022.07.07

[C#] Issue 해결 과정 Summary

이슈 해결 과정을 요약해보려한다. 생각지도 못했던 문제들이 많았다. 현업에서 GridView 에서의 오름차순 , 내림차순 정렬 기능을 요청했다. 오름차순 내림차순 변경 => 오름차순, 내림차순 정렬을 위해서는 DataGridView 에 iBinding 문제로 DataTable 이 바인딩 되어있어야함 => List 형태로 바인딩 되어있는 DataGridView를 DataTable 형태로 바꾸어 주는 함수 구현 헤더 클릭 시 Arrow가 생성됨. 문제가 해결된 줄로 알았다. 오름차순, 내림차순 정렬 시 string값으로 받아오기 때문에 자릿수가 달라지는 컬럼의 경우, 맨 앞자리값으로만 정렬이 됨 = >type 캐스팅을 모든 컬럼에 대해서 개별적으로 해줘야 함. 현업에서는 GridView에서 컬럼 헤더를 드래..

Language/C# 2022.07.06

[Error] System.Windows.Forms.DataGridViewCell.Value.get returned null

System.Windows.Forms.DataGridViewCell.Value.get returned null 에러의 경우 가장 해결하는 쉬운 방법은 ? Operator를 사용하는 것이다. dgvIncome.SelectedRows[0].Cells[1].Value?.ToString(); 값이 있을 경우에만 ToString()으로 변환해주는 코드라 에러가 뜨지 않지만 dgvIncome.SelectedRows[0].Cells[1].Value.ToString(); 아무런 값이 들어가있지 않은 경우에 위와 같은 코드를 실행하게 되면 " System.Windwos.Forms.DataGridViewCell.Value.get returned null "다음과 같은 에러메시지가 뜬다

Language/C# 2022.07.05

[리스트로 바인딩 된 DataGridview]

DataTable로 바인딩이 되어있으면 헤더쪽을 클릭하면 default설정으로 화살표(arrow)가 나오고, 자동으로 내림차순 , 오름차순 정렬이 된다. 리스트로 바인딩이 되어있는 DataGridView의 경우, 자동 내림차순 오름차순 정렬이 되지 않기 때문에 List형태를 DataTable형태로 변환해줘야 한다. public DataTable ToDataTable(List items) { DataTable dataTable = new DataTable(typeof(T).Name); PropertyInfo[] Props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance); foreach (PropertyInfo prop in Pr..

Language/C# 2022.07.05

바인딩 된 datagridview에서 마우스 드래그로 컬럼 순서 변경

바인딩이 되어있는 DataGridView에서 마우스 드래그 이벤트를 통해서 컬럼 순서(위치)를 변경할 수 있는 방법 Row에 해당하는 내용은 구글링을 해도 많이 나오지만, Column에 해당하는 내용은 거의 없었다 응용해서 코드를 수정해본 내용이다 . private Rectangle dragBoxFromMouseDown; private int columnIndexFromMouseDown; private int columnIndexOfItemUnderMouseToDrop; private void metroGridWaferReview_MouseMove(object sender, MouseEventArgs e) { if ((e.Button & MouseButtons.Left) == MouseButtons.Le..

Language/C# 2022.07.04