DataTable(7)
-
Linq GroupBy 를 통해 평균 값구하기 (C# Winform / VB .net)
위와 같은 Table이 존재 하고 수량의 평균 값어치만 구하고 뿌려주고 싶을 때 여러가지 방법이 있다. 한가지는 DB에서 가져올 때 아예 쿼리로 Group By로 묶어줄 수 있다. SELECT `구분`, `대분류`, `중분류`, COUNT(중분류) AS 수량 FROM t.test 하지만 프로그램이 최초 load될 때 DataSet에 담아두고 각종 Filter작업을 해야할 때는 차라리 그냥 DataTable에서 Filter를 해주는 것이 더 편리하기때문에 Linq라는 작업을 통해서 할 수 있다. 맨 처음 저같은 경우에는 간단한 예제로 하기 위해 csv파일을 불러와 작업을 했는데요. 수량을 계산하기 위해서는 수량 Column이 String Type으로 된 DataColumn이면 안되니까 변경을 해주었..
2022.03.03 -
VB.NET/C# DataTable 여러 컬럼 정렬하기, Multiple Column Sort
임시 테이블 구성 C# Code public Form1() { InitializeComponent(); DataTable dt_temp = new DataTable(); dt_temp.Columns.Add("ID"); dt_temp.Columns.Add("일자"); dt_temp.Columns.Add("동"); dt_temp.Columns.Add("호"); dt_temp.Rows.Add(1, "2020-04-13", "2101", "101"); dt_temp.Rows.Add(2, "2020-05-20", "2101", "1301"); dt_temp.Rows.Add(3, "2020-04-13", "2101", "1302"); dt_temp.Rows.Add(4, "2020-05-22", "2101", "..
2020.06.02 -
<VB.NET> DataGridView To DataTable
DataBinding 안되어있는 DataGridView를 DataTable로 변환 하는 코드 ''' ''' DataGridView To DataTable ''' ''' 변환 할 DataGridView를 넣는다. ''' Private Function DataGridViewToDataTable(ByRef dgv As DataGridView) As DataTable Dim _dt As DataTable = New DataTable If _dt.Columns.Count = 0 Then For Each dgdr As DataGridViewColumn In dgv.Columns _dt.Columns.Add(dgdr.HeaderText) Next End If For Each row As DataGridViewRow ..
2020.05.25 -
<VB.NET> DataTable To DataGridView
DataBinding 없이 DataTable을 DataGridView로 넣는 코드 자주 쓰지는 않지만 Binding 없이 사용해야 할 경우 있기 때문에 저장! Private Function DataTableToDataGridView(ByVal dt As DataTable, ByVal dgv As DataGridView) As DataGridView Dim _dgv As DataGridView = dgv For Each col As DataColumn In dt.Columns Dim c As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn() With { .HeaderText = col.ColumnName } dgv.Columns.Add(c) Next..
2020.05.22 -
VB.NET Linq를 이용하여 DataTable에서 일치하는 항목 출력하기
예를들어 위와 같은 table이 있다고 치면 AAA를 선택했을 때 AAA에 딸려있는 하위 목록들을 불러오고 싶을 때 여러가지 방법들이 있지만 Linq를 이용하여 작업을 했다. Private Sub test() If Not (_info_db Is Nothing) Then '// Column1 의 AAA라는 값과 일치하면 '// AAA와 일치하는 Column2의 값들을 Select 한다. Dim query = From r In _info_db Where r.Field(Of String)("Column1") = "AAA" Select New With { .tablesName = r.Field(Of String)("Column2") } Dim tmpDt As DataTable = New DataTable '..
2020.04.10 -
VB.NET Linq 특정 컬럼 하나만 중복제거 후 Array로 저장하기, vb.net remove duplicate to array for one column
Dim columns = From row In onebon_dt Group row By steps = row("Step").ToString() Into Group Where Group.Count > 0 Select steps Dim query = onebon_dt.AsEnumerable().GroupBy( Function(l) New With { Key .Item = l.Field(Of String)("Item") }).Select( Function(g) g.FirstOrDefault Dim row = output_dt.NewRow() row("Item") = g.Key.Item Return row End Function).CopyToDataTable()
2020.03.20