나는이 같은 DataGridViewComboBoxColumn
을 설정하고 있습니다 :각 셀에 다른 데이터 소스로 DataGridView ComboBoxColumn을 설정하는 방법은 무엇입니까?
var newColumn = new DataGridViewComboBoxColumn() {
Name = "abc"
};
newColumn.DataSource = new string[] { "a", "b", "c" };
dgv.Columns.Add(newColumn);
이 작동 : 각 행은 A, B, C로 채워 해당 열의 드롭 다운 상자를 가지고 있습니다.
그러나 이제 특정 행에 대한 목록을 자르고 싶습니다. 나는이 같은 행마다의 목록을 설정하기 위해 노력하고있어 :
foreach (DataGridViewRow row in dgv.Rows) {
var cell = (DataGridViewComboBoxCell)(row.Cells["abc"]);
cell.DataSource = new string[] { "a", "c" };
}
그러나,이 코드는 효과가 없습니다 - 모든 행은 여전히 "A", "B", "C"를 보여줍니다.
나는 아무 소용 new List<string>
및 new BindingList<string>
, 모두 new string[]
를 교체 시도했다.
또한 newColumn.DataSource
을 설정하는 코드를 제거하려고했지만 목록이 비어 있습니다.
이 작업을 올바르게 수행하려면 어떻게해야합니까? 나를 위해
흠, 그건 저에게도 도움이됩니다 - 깨끗한 테스트 프로젝트에서. 그것은 내가 다르게하고있는 것이어야합니다. – Blorgbeard
문제는 내 DataGridView에 AutoSizeColumnMode가 AllCells로 설정되어 있다는 것과 관련이 있습니다. 데이터 소스가 설정되기 전에 셀의 값을 확인했다고 생각합니다. – Blorgbeard
내 문제를 도와 줘! – XXXXX