Windows Forms 용인 DataGridView를 의미하는 것으로 가정하고, GridView는 ASP.NET 용이므로 사용자가 그러한 질문을 태그로 지정했습니다.
DataGridViewComboBoxColumn에 데이터를 바인딩하는 방법은 무엇입니까? DataSource를 설정하는 동안 DataGridViewComboBoxColumn에서 DisplayMember 및 ValueMember 속성을 설정해야합니다. DisplayMember에 대한 MSDN 링크는 예를 보여 주지만 두 속성을 같은 것으로 설정 했으므로 요청한 내용을 표시하지 않습니다.
DisplayMember는 사용자에게 표시 할 텍스트이고 ValueMember는 숨겨진 기본 값입니다. 선택 사항을 포함하는 목록을 반환합니다)
public class Choice
{
public string Name { get; private set; }
public int Value { get; private set; }
public Choice(string name, int value)
{
Name = name;
Value = value;
}
private static readonly List<Choice> possibleChoices = new List<Choice>
{
{ new Choice("One", 1) },
{ new Choice("Two", 2) }
};
public static List<Choice> GetChoices()
{
return possibleChoices;
}
}
GetChoices을 (: 예를 위해서
,의 당신이 당신의 선택을 나타내며 다음과 같습니다 프로젝트의 선택 클래스가 있다고 가정 해 보자. 이상적으로는 서비스 레이어에서 이러한 메소드를 사용하거나, 원하는 경우 양식의 코드 뒤에 다른 곳에서 자신 만의 목록을 작성할 수 있습니다. 단순함을 위해 나는 같은 수업에서 모두 함께 일괄 처리했습니다. 다음과 같이 양식에
당신은 DataGridViewComboBoxColumn에 목록을 결합하는 것입니다 :
// reference the combobox column
DataGridViewComboBoxColumn cboBoxColumn = (DataGridViewComboBoxColumn)dataGridView1.Columns[0];
cboBoxColumn.DataSource = Choice.GetChoices();
cboBoxColumn.DisplayMember = "Name"; // the Name property in Choice class
cboBoxColumn.ValueMember = "Value"; // ditto for the Value property
이제 콤보에서의 "1"과 "2"를 참조한다. 선택한 값을 가져 오면 기본 1 또는 2 값이어야합니다.
DisplayMember/ValueMember를 사용하는 것이 좋습니다. 이렇게하면 사용하고있는 데이터 소스를 조정하는 데 도움이됩니다.
! 감사합니다! Reinhard –
DataGrid에서 드롭 다운 셀의 선택된 값을 어떻게 읽을 수 있습니까? – Meysam
그게 단순한 줄을 몰랐습니다! 감사 – Jack