C#基于ComboBox选择引导数据

时间:2015-02-26 16:26:12

标签: c# if-statement datagridview combobox

在我的程序中,我想根据他们在COMBOBOX中选择的内容将用户输入的数据放入一个类别。

TABCONTROL中有四个类别和四个DATAGRIDVIEWS(在单独的表单中)。

我可以添加用户输入的信息,但COMBOBOX还没有它的功能。

如何让用户选择“类别1”,它将输入的数据发送到dataGridView1,“category 2”到dataGridView2?

我知道这将需要“if,else-if”声明,但我不确定如何将基于COMBOBOX选择的数据导向适当的DGV。

2 个答案:

答案 0 :(得分:0)

我会将ComboBox作为输入表单上的必填字段。当用户提交条目时,应将其路由到适当的类别。使用ComboBox.SelectedIndex(或.SelectedText.SelectedValue)确定选择了哪个类别。 ComboBox.DropDownStyle应该是DropDownList,因此用户必须从列出的选项中进行选择。

如果在输入后发生分类,那么您应该有ApplyCategorize按钮来执行实际分类。逻辑非常简单:

private void CategorizeButton_Click(object sender, EventArgs e)
{
    switch (CategoryComboBox.SelectedIndex)
    {
        case 0: // Category 1
            // Code to send to Category 1
            break;
        case 1: // Category 2, repeat as necessary
            // Code to send to Category 2
            break;   
        default:
            MessageBox.Show("Please select a category!");
            CategoryComboBox.Focus();
            return;
    }
}

如果发送到类别的代码几乎相同,则可以重构和简化。然后,您可以使用SelectedIndex来识别目标DataGridView,并减少代码长度和重复次数。

答案 1 :(得分:0)

这是一种更好或更有效的方法:

if(combobox1.SelectedValue = "category1"){
     //user-entered info goes to DGV1

else if(combobox1.SelectedValue = "category2")
     //user-entered info goes to DGV2

     //.etc.