C# 基于组合框选择的C定向数据
在我的程序中,我想根据用户在组合框中选择的内容,将用户输入的数据放入一个类别中 有四个类别和四个DataGridView位于单独表单上的TABCONTROL中 我可以添加用户输入的信息,但是组合框还没有它的功能 如何使用户选择类别1时,将输入到dataGridView1、类别2的数据发送到dataGridView2C# 基于组合框选择的C定向数据,c#,if-statement,datagridview,combobox,C#,If Statement,Datagridview,Combobox,在我的程序中,我想根据用户在组合框中选择的内容,将用户输入的数据放入一个类别中 有四个类别和四个DataGridView位于单独表单上的TABCONTROL中 我可以添加用户输入的信息,但是组合框还没有它的功能 如何使用户选择类别1时,将输入到dataGridView1、类别2的数据发送到dataGridView2 我知道这将需要if,else if语句,但我不确定如何将基于组合框选择的数据定向到适当的DGV。我将使组合框成为输入表单上的必填字段。当用户提交条目时,应将其发送到适当的类别。使用C
我知道这将需要if,else if语句,但我不确定如何将基于组合框选择的数据定向到适当的DGV。我将使组合框成为输入表单上的必填字段。当用户提交条目时,应将其发送到适当的类别。使用ComboBox.SelectedIndex或.SelectedText或.SelectedValue确定所选类别。ComboBox.DropDownStyle可能应该是DropDownList,因此用户必须从列出的选项中进行选择 如果分类发生在条目之后,那么您应该有一个执行实际分类的应用或分类按钮。逻辑相当简单:
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,并减少代码长度和重复。这是一种更好或有效的方法:
if(combobox1.SelectedValue = "category1"){
//user-entered info goes to DGV1
else if(combobox1.SelectedValue = "category2")
//user-entered info goes to DGV2
//.etc.
使用combo SelectedIndexChanged Events没有分类按钮,而是根据用户输入的内容确定数据的去向。另外,当我尝试使用您提供的代码时,它会说CategoryComboBox在当前上下文中不存在。这是我编程的第一周:,非常感谢您的帮助。我解释了数据将进入的类别。因此我将combobox命名为CategoryComboBox,这正是您为combobox指定的名称。如果有更好的名字,那就换个名字吧。我在代码示例中看到,您保留了默认名称combobox1,但可以根据需要随意重命名,我强烈建议您使用有意义的名称。如果您不熟悉命名约定,还应该研究它们;我收到以下错误消息:“combobox1”名称在当前上下文中不存在。没关系!成功了:谢谢你的帮助!这不一定更好,只是不同而已。如果这对你来说更清楚,那么就使用它。切换有一些好处,但在这种情况下没有什么意义。