이제 카테고리를 만들었으니 데이터를 입력할 준비가 되었다.
먼저 할 일은 내가 입력하고 싶은 카테고리를 지정하는 것이다!
TreeNode의 데이터로 ComboBox를 만들자!
코드에서도 초기화가 가능하지만, 여기에 입력을 하면,
디자인쪽 코드에 적용된다.
public mainForm()
{
InitializeComponent();
InitializeDatabase();
LoadTreeNodeData();
Console.WriteLine(categoriesNode);
foreach (TreeNode node in categoriesNode.Nodes)
{
Console.WriteLine("\t - " + node.Text);
foreach (TreeNode subnode in node.Nodes)
Console.WriteLine("\t\t - " + subnode.Text);
cbMainCategory.Items.Add(node.Text);
}
cbMainCategory.SelectedIndex = 0;
cbSubCategory.SelectedIndex = 0;
cbMainCategory.SelectedIndexChanged += CbMainCategory_SelectedIndexChanged;
Console.WriteLine("메인 폼 시작");
}
mainForm 생성자 쪽에서 Main Category 쪽 목록을 추가해주자!
그리고, Main 쪽 선택된 index가 바뀌면 발생하는 이벤트를 추가하자.
private void CbMainCategory_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox _sender = (ComboBox)sender;
cbSubCategory.Items.Clear();
cbSubCategory.Items.Add("소분류");
cbSubCategory.SelectedIndex = 0;
if (_sender.SelectedIndex == 0)
{
cbSubCategory.Enabled = false;
return;
}
cbSubCategory.Enabled = true;
foreach (TreeNode node in categoriesNode.Nodes)
{
if(node.Index == (_sender.SelectedIndex - 1))
{
foreach(TreeNode subnode in node.Nodes)
{
cbSubCategory.Items.Add(subnode.Text);
}
return;
}
}
}
메인 카테고리 선택이 바뀌면, 소분류쪽을 전부 지워버리고 초기화하자.
그 다음, 대분류가 0이면 소분류를 비활성화한 다음 return한다.
그렇지 않으면, node를 탐색하면서 소분류의 목록을 넣어주자.
단, index 0번은 "대분류"기 때문에 -1을 해준 값과 비교하여 목록에 추가하자.
데이터를 생성해보자!
다음과 같이 데이터를 만들 수 있도록 해보자.
그 다음 추가 버튼을 더블클릭하면 Click이벤트가 생성된다
지금은 이 데이터를 저장하거나 표출할 공간이 없으니 대분류, 소분류의 번호와 제목, 금액 내용을 읽어서 Console에 출력하자.
우선 앞서 만들어진 함수를 채워주자
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}");
}
이렇게 만들고, 프로그램을 실행해 다음과 같이 입력한 뒤 버튼을 클릭하면 결과가 나온다!
일단 이렇게 데이터를 생성할 수 있도록 하는 형태까지 만들어졌다!
여기서 부족한 것은 날짜를 지정하는 것과 실제 Form위에 데이터를 올리는 것이다!
데이터를 입력해보자. (2)
[C#_시트 프로그램] 데이터를 입력해보자. (2)
데이터를 만드는 것까진 성공하였다. 이제 이 데이터를 하나씩 화면에 올려보자.가장 일반적인 방법은 ListView를 이용하는 것이다.ListView로 데이터를 표시해보자.그리고 기존에 있는 데이터를 콘
apple-churr.tistory.com
'프로그래밍 > C#_시트 프로그램' 카테고리의 다른 글
[C#_시트 프로그램] 데이터를 입력해보자. (2) (0) | 2024.11.27 |
---|---|
[C#_시트 프로그램] 나만의 카테고리 다이얼로그 (4) (0) | 2024.11.21 |
[C#_시트 프로그램] 나만의 카테고리 다이얼로그 (3) (0) | 2024.11.20 |
[C#_시트 프로그램] 나만의 카테고리 다이얼로그 (2) (1) | 2024.11.19 |
[C#_시트 프로그램] 나만의 카테고리 다이얼로그 (1) (0) | 2024.11.18 |