私はC#.net Windowsアプリケーションで作業しています。次のように私のwinformにコンボボックスを埋めています。 SQL ServerにLINQのからリストを取得し管理方法でコンボボックスで選択された値はC#
cmbEMPType.DataSource = objEntityManager.EmployeeTypes();
cmbEMPType.DisplayMember = "EMPTypeName";
cmbEMPType.ValueMember = "EMPTypeId";
どこobjEntityManager.EmployeeTypes();
。これは正常に動作しています。
私はアイテムフォームのコンボボックスを選択し、ボタンをクリックしてからボタンをクリックしたイベントでは、私はcmbEMPType.SelectedValue
をそのIdではなくEmpType
としています。なぜこれは必要ですか?もう1つのEmpTypeオブジェクトを作成したくありません。単純な選択値が必要です。 SelectedIndexとの信念を保つこともできません。毎回項目ごとに異なる場合があります。
**Edited**
public List<EMPType> EmployeeTypes()
{
List<EMPType> EMPTypeList = null;
try
{
if (CommonDataObject.dataContext.EMPAllTypes.Any())
{
EMPTypeList = CommonDataObject.dataContext.EMPAllTypes.ToList();
}
return EMPTypeList;
}
catch
{
return EMPTypeList;
}
}
編集
private void btnSave_Click(object sender, EventArgs e)
{
iEMPTypeId = cmbEMPType.SelectedValue;
}
ここで私はINTEを取得する必要があります。 EMPTypeオブジェクトの作成を要求します。
はあなたがcmbEMPType.SelectedItemを使用していませんか?これは通常、選択されたオブジェクト(EmpType)を取得し、cmbEMPType.SelectedValueは 'ValueMember'で指定されたプロパティを取得します。 –
はい、私は確信しています。私はそれを三度チェックした。残念ながらSelectedValueがあります。実際には戻り値の型もチェックすることができます。それは 'オブジェクト'を示しています。 –
値は任意の型であるため、常にキャストする必要があるため、常にobjectが返されます。私が他のコメントで尋ねたように、コードを投稿してください。何が起きているのかがわかります。 –