我无法为ComboBox.SelectedIndex或任何其他选定的

时间:2015-09-26 03:33:47

标签: c# winforms combobox

我的名字是Arnaldo,我来自巴西,现在我需要学习C#。

我想创建一个真实的模型或真实案例来研究。

我使用POO,多态性和遗产。

我有一个“frmBase”,我只需要一个表单,比如数据库连接,更改大小等等。

下一个,实例化“frmBase”是“frmBaseConsulta”,第二个有一个带有两个指南的“TabControl”,一个用于GridView,另一个用于注册信息。

最后,实例化“frmBaseConsulta”的下一个是“frmCadPesCity”;我在这个表单中添加了一个名为“txbCityName”的TextBox和一个名为“cmbState”的ComboBox。

ComboBox由包含状态记录的表填充,如下所示:

    // This script is in the form "frmCadPesCity"
    public void getStates()                                   // 
    {
        BindingSource dbStates = new BindingSource();

        dbStates = dal.openQuery("Select stateid, " +
                                 "       stateAbbreviation || ' - ' ||statename as statename  "+
                                 "  from country.tbstates  " +
                                 " order by stateAbbreviation");

        cmbState.ValueMember = "stateid";
        cmbState.DisplayMember = "statename";            
        cmbState.DataSource = dbStates;
    }

    // "ChildResources" is an abstract method , declared in "frmBaseConsulta"
    // and override when necessary, like thi, in "frmCadPesCity"
    public override void ChildResources()
    {
        // 
        getStates();
    }

在DataGridView中我选择一条记录[“Sam Diego”,“CA”]来纠正(“San Diego”)并点击Update按钮,指南改为“Register”,在“txbCityName”对象中接收“萨姆迭戈”,但“cmbState”留在第一张唱片“AK”。

按照更改ComboBox的SelectedIndex值的脚本:

            // Method , declared in "frmBaseConsulta"
            ...
            else if (FocusedElement is ComboBox)
            {
                // Get the value in the table based on the object name
                // getOldEditorValue => "CA - California"
                string sEditorValue = getOldEditorValue(((ComboBox)FocusedElement).Name);
                int iIndexValue = -1;

                // Find IndexValue
                iIndexValue = ((ComboBox)FocusedElement).FindStringExact(sEditorValue);
                ((ComboBox)FocusedElement).SelectedIndex = iIndexValue;
            }
            ...

我尝试了所有可能的选择并且不起作用,任何人都可以帮助我吗?

  

的SelectedIndex   的SelectedValue   SelectedText   的SelectedItem

还有一件事,当我以编程方式创建TextBox以查看它是否真正拾取数据时,TextBox正确创建。遵循代码:

                TextBox txtComboBoxResult = new TextBox();
                txtComboBoxResult.Text = sEditorValue + " --> " + iIndexValue.ToString();
                pnlCadastro.Controls.Add(txtComboBoxResult);

拜托,我需要帮助...

抱歉我的英语不好......

0 个答案:

没有答案