728x90

C# 에서 MySQL DB에 있는 자료를 DataSet 메모리 DB에 올린 다음 ListView 에 뿌리는 소스코드다.

listView 에 뿌려주는 순서를 정하려면

MySQL DB에서 Select 하는 구문에서 정해주면 된다.
select * from items 로 된 부분을 SELECT uid, item, price, Quantity, date FROM items 로 뽑아오고 싶은 칼럼만 지정하고 순서를 정하면 된다.


private void listView1Table()
{
    // listView1 의 검색 로직
    myConn = new MySqlConnection(ConnectionString);
    try
    {
        myConn.Open();

        string strqry = "select * from items ";
        if (listView1searchBox.Text.Trim().Length > 0)
        {
            strqry += "where Quantity='" + listView1searchBox.Text.Trim() + "' ";
        }
        strqry += "order by uid";

        adapter = new MySqlDataAdapter(strqry, myConn);
        DataSet ds = new DataSet();
        adapter.Fill(ds); // DS에 select * from items 의 결과물을 채우겠다.

        listView1.Items.Clear();
        DataTableTolistView(ds.Tables[0], listView1);

        lvt1totalcnt.Text = "총 " + i.ToString() + " Row";
        SetHeight(listView1, 20);  // 행높이 지정
        listView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
        myConn.Close();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

private void DataTableTolistView(DataTable dtable, ListView LV)
{
    if (dtable.Rows.Count > 0)
    {
        int i = 0;
        foreach (DataRow drow in dtable.Rows)
        {
            i = i + 1;
            ListViewItem lvt = new ListViewItem();
            lvt.Text = i.ToString();  // 첫번째 칼럼에 저장, 첫번째 칼럼은 번호 증가 목적
            for (int n = 0; n < dtable.Columns.Count; n++)
            {
                lvt.SubItems.Add(drow[n].ToString());
            }
            LV.Items.Add(lvt);
        }
    }
}

728x90
블로그 이미지

Link2Me

,