我的名字是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);
拜托,我需要帮助...
抱歉我的英语不好......