C# 我无法为ComboBox.SelectedIndex或任何其他选定项设置值
我叫阿纳尔多,来自巴西,现在我需要学习C 我想创建一个真实的模型或真实的案例来研究 我用的是《公安条例》、《多态性》和《传统》 我有一个frmBase,它有一个单一表单所需的一切,比如DB连接、更改大小等等 下一个实例化frmBase的是frmBaseConsulta,第二个有一个带有两个指南的TabControl,一个指向GridView,另一个用于注册信息 最后,下一个实例化frmBaseConsulta的是frmCadPesCity;我在这个表单中放了一个名为txbCityName的文本框和一个名为cmbState的组合框 组合框由包含状态记录的表填充,如下所示:C# 我无法为ComboBox.SelectedIndex或任何其他选定项设置值,c#,winforms,combobox,C#,Winforms,Combobox,我叫阿纳尔多,来自巴西,现在我需要学习C 我想创建一个真实的模型或真实的案例来研究 我用的是《公安条例》、《多态性》和《传统》 我有一个frmBase,它有一个单一表单所需的一切,比如DB连接、更改大小等等 下一个实例化frmBase的是frmBaseConsulta,第二个有一个带有两个指南的TabControl,一个指向GridView,另一个用于注册信息 最后,下一个实例化frmBaseConsulta的是frmCadPesCity;我在这个表单中放了一个名为txbCityName的文本框
// 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]以更正圣地亚哥,然后单击更新按钮,在txbCityName对象receive Sam Diego中,指南更改为Register,但cmbState保留在第一条记录AK中
遵循更改组合框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;
}
...
我尝试了所有可能的选择,但都不起作用,有人能帮我吗
选定索引
选择值
选定文本
选择项
还有一件事,当我以编程方式创建一个TextBox以查看它是否真的在拾取数据时,TextBox的创建是正确的。遵循代码:
TextBox txtComboBoxResult = new TextBox();
txtComboBoxResult.Text = sEditorValue + " --> " + iIndexValue.ToString();
pnlCadastro.Controls.Add(txtComboBoxResult);
求你了,我需要帮助
对不起,我的英语不好…你的问题不是WPF,而是WinForms。现在在代码中更改为ComboBoxFocusedElement.SelectedIndex=2;查看combobox是否可访问。制作一个图表,显示您正在尝试执行的步骤。图中最能描述您的问题。您谈论的是DataGridView,它是一个WinForms控件,但您也在使用FocusedElement属性,特别是WPF。这是一个主要问题。如果您想在单独的控件中编辑来自网格的记录,那么为什么不将相同的数据绑定到这两个控件上呢?那你就不需要任何代码了。谢谢大家的帮助!