나는 C# .net 윈도우 응용 프로그램에서 일하고 있습니다. 나는 다음을 사용하여 내 winform에 콤보 상자를 채우고 있습니다. 콤보 상자에서 선택한 값을 #
cmbEMPType.DataSource = objEntityManager.EmployeeTypes();
cmbEMPType.DisplayMember = "EMPTypeName";
cmbEMPType.ValueMember = "EMPTypeId";
곳 SQL 서버에 Linq에의 목록을 가져옵니다 관리자 방법
objEntityManager.EmployeeTypes();
. 이것은 잘 작동하고 있습니다.
하지만 항목 양식 콤보 상자를 선택하고 단추를 클릭 한 다음 해당 이벤트 ID가 cmbEMPType.SelectedValue
인 EmpType
으로 표시됩니다. 왜 이럴까? 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 객체 생성을 요청합니다.
인가를? 이것은 일반적으로 선택된 개체 (EmpType)를 가져오고, cmbEMPType.SelectedValue는 'ValueMember'에 지정된 속성을 가져옵니다. –
예, 확실합니다. 나는 그것을 세 번 확인했다. 하지만 불행히도 SelectedValue가 있습니다. 실제로 반환 유형을 확인할 수도 있습니다. 그것은 '대상'을 보여줍니다. –
값은 모든 유형 일 수 있으므로 어쨌든 값을 캐스팅해야하므로 항상 객체를 반환합니다. 다른 의견으로 물어 보시면 코드를 게시 해 주시면 진행 상황을보실 수 있습니다. –