저는 며칠 동안이 작업에 어려움을 겪었으며 DataTables와 dataGridViews가 모두 뒤섞여 있습니다.데이터 테이블에 콤보 상자 열을 만드는 방법
DataGridView, dataGridView1 및 DataTable 오류가있는 WinForms 프로그램이 있습니다.
errors.Columns.Add("Account Number");
errors.Columns.Add("Customer Name");
errors.Columns.Add("Country");
errors.Columns.Add("State");
errors.Columns.Add("Ship-to Country");
errors.Columns.Add("Ship-to State");
var lines = File.ReadAllLines(file);
foreach (string line in lines)
{.
.
.
string []items=line.Split('\t').ToArray();
errors.Rows.Add(items[0], items[1],...items[5]);
:
public static DataTable errors = new DataTable();
dataGridView1.DataSource = errors;
이제, 상기 다운 ValidateText 불리는 방법으로, I는 I는 데이터 테이블 오류의 열을 정의하는 배열로 텍스트 파일, 라인별로 라인에서 데이터 읽기
그리고 그것을 실행할 때 잘 작동합니다. 문제는, "국가"열에 콤보 상자가 있으므로 프로그램이 실행될 때 데이터가 dataGridView1에 표시되면 사용자가 새 국가를 선택할 기회를 갖게됩니다. '국가'항목에서 그리고 더 아래 프로그램에서, 나는 참으로 DataGridViewComboBoxColumn을 만드는 방법을 정의한
private DataGridViewComboBoxColumn CreateComboBoxColumn()
{
DataGridViewComboBoxColumn buildCountries = new DataGridViewComboBoxColumn();
buildCountries.HeaderText = "List of Countries";
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Keys");
dataTable.Columns.Add("Values");
KeyValuePair<string, string>[] array = CountryList.ToArray();
foreach (KeyValuePair<string, string> kvp in array)
{
dataTable.Rows.Add(kvp.Key, kvp.Value);
}
buildCountries.DataSource = dataTable;
buildCountries.DisplayMember = "Values";
buildCountries.ValueMember = "Keys";
return buildCountries;
}
내가, 내가 그에서 만든 그 콤보 상자를 얻는 방법입니다 함께하는 데 문제가 건 마지막 방법으로 위에서 만든 '국가'항목에 추가 할 수 있습니까? DataGridView 및 DataTable을 사용하여 뭔가를 얻지 못하는 것 같습니다. DataTable을 DataGridView에 바인딩하지만이 DataGridViewComboBoxColumn을 추가하는 것은 어려운 것처럼 보입니다.
감사합니다,
아만다