나는 내가 많은이 질문에 무슨 일이 일어나고 있는지처럼 선택과 다른 값을 표시하는데있어 DataGridViewComboBoxColumn이 : 내 경우텍스트 상자보다 DataGridViewComboBoxColumn 드롭 목록에 다른 값을 표시하는 방법은 무엇입니까?
DataGridViewComboBoxColumn name/value how?
을, 내가 가진 장비의 목록을 표시하고 있습니다 ID 및 설명. 그래서 내 바인딩 된 데이터 클래스는 다음과 같습니다
public class AURecord
{
// member vars and constructors omitted for brevity
public string ID { get { return _id; } }
public string Description { get { return _description; } }
public string FullDescription
{
get { return string.Format("{0} - {1}", _id, _description); }
}
}
그래서 나는 DisplayMember 및 ValueMember가 각각 FullDescription와 ID를로 설정해야합니다. 여태까지는 그런대로 잘됐다.
문제는 드롭 목록에 FullDescription이 표시되도록 요구하지만 이 선택되면 ID는 텍스트 상자에 표시되어야합니다 (설명은 인접한 읽기에 표시되어야 함) - 단 하나의 칼럼, 나는 잘 작동한다.)
DataGridViewComboBoxColumn 하위 클래스를 만들고 더 많은 오버로드를 수행하는 것에 대한 답변이 많아 지겠지만 그리드의 DataGridViewComboBoxColumn 개체에서 일부 속성 만 변경하면됩니다. ...
꽤 잘 작동하도록 나타납니다. 선택하는 동안과 직후에 이상한 행동을합니다. (드롭 목록이 열리는 동안 셀에 전체 ID와 설명이 나타납니다.) 일단 포커스가 그리드 셀을 떠나면 우리가 원하는 것을 수행합니다. 우리가 이상하게 살아갈 수 있는지 확인하기 위해 QA에서 수신 거부하고 있습니다.하지만 괜찮을 것 같습니다. 감사. –