프로그래밍/C#_시트 프로그램

[C#_시트 프로그램] 데이터를 입력해보자. (2)

사과맛츄르 2024. 11. 27. 21:34
반응형

데이터를 만드는 것까진 성공하였다. 이제 이 데이터를 하나씩 화면에 올려보자.

가장 일반적인 방법은 ListView를 이용하는 것이다.


ListView로 데이터를 표시해보자.

ListView의 View 속성을 Details로 바꾸면, 이렇게 열을 추가할 수 있다.

그리고 기존에 있는 데이터를 콘솔에 출력하는 부분에 다음과 같이 추가해준다.

private void btnAddItem_Click(object sender, EventArgs e)
{
    TreeNode mainNode = categoriesNode.Nodes[cbMainCategory.SelectedIndex - 1];
    Console.WriteLine($"대분류: {mainNode.Text}");
    Console.WriteLine($"소분류: {mainNode.Nodes[cbSubCategory.SelectedIndex-1].Text}");
    Console.WriteLine($"  제목: {tbTitle.Text}");
    Console.WriteLine($"  가격: {tbPrice.Text}");
    Console.WriteLine($"  내용: {tbMsg.Text}");

    ListViewItem _item = new ListViewItem(mainNode.Text);
    _item.SubItems.Add(mainNode.Nodes[cbSubCategory.SelectedIndex - 1].Text);
    _item.SubItems.Add(tbTitle.Text);
    _item.SubItems.Add(tbPrice.Text);
    _item.SubItems.Add(tbMsg.Text);

    lvDatas.Items.Add(_item);

}

위와 같이 추가하면, 우리가 추가 버튼을 누를 때 아래와 같이 데이터가 추가된다.

데이터를 추가할 수 있다. 그런데 기존 데이터가 남아있다!

추가 버튼을 누르면 대분류를 "대분류"로 옮기고 내용을 초기화하자!

이제 버튼을 누르면 자동으로 대분류로 바뀌게 된다!


데이터를 다루면 기본적으로 추가/수정/제거 해야한다.

앞서 카테고리를 다룰 때도 언급했던 것이었다.

우리는 추가를 했으니 이제 수정과 제거를 해야한다.

수정은 조금 골치가 아프니 제거부터 하는게 편할 것이라 생각된다.

먼저 제거를 위한 조건을 걸어야 할 것이다.

심플하게 아이템 우클릭을 하면 삭제 메뉴가 뜨도록 해보자.

private void LvDatas_MouseUp(object sender, MouseEventArgs e)
{
    if (lvDatas.SelectedIndices.Count > 0)
    {
        if (e.Button == MouseButtons.Right)
        {
            int _selectedIndex = lvDatas.SelectedIndices[0];

            Console.WriteLine(_selectedIndex);
            ContextMenu _menu = new ContextMenu();
            _menu.MenuItems.Add(new MenuItem("제거"));

            _menu.Show(lvDatas, e.Location);
        }
    }
}

위에 코드를 추가하면, 제거 버튼이 뜬다!

이제 저 버튼을 누르면 제거되게 해보자.

우선 해당 버튼에 이벤트를 추가하자.

private void _delete_Click(object sender, EventArgs e)
{
    var msg = MessageBox.Show("해당 데이터를 제거하시겠습니까?", "경고", MessageBoxButtons.YesNo);

    if(msg == DialogResult.Yes)
        lvDatas.Items.RemoveAt(lvDatas.SelectedIndices[0]);
}

간단하게 경고 메시지와 함께 만들어주자.

데이터를 만들고, 두번째 데이터를 우클릭해 버튼을 누르면 메시지가 나오고, 예를 누르면 제거된다!


데이터를 입력해보자. (1)

 

[C#_시트 프로그램] 데이터를 입력해보자. (1)

이제 카테고리를 만들었으니 데이터를 입력할 준비가 되었다.먼저 할 일은 내가 입력하고 싶은 카테고리를 지정하는 것이다!TreeNode의 데이터로 ComboBox를 만들자! 코드에서도 초기화가 가능하지

apple-churr.tistory.com

 

반응형