1. winform 양식 애플리케이션을 만듭니다.
2. DataGridView 컨트롤을 인터페이스로 드래그합니다.
3. 표시된 대로 해당 열을 추가합니다.
4.
private DataTable CountryDt = new DataTable();
private DataTable CityDt = new DataTable();
public Main()
의 이니셜을 통해 's '를 사용 ‐ ‐ ‐‐‐‐‐ .
사용 '의 통해 ‐ ‐ ‐ ‐ initGrid()
private void InitCityDt()
> CN|3|산시", "JP|4|오사카", "JP|5|요코하마", "JP|6|나고야", "JP|7|고베", "US|8|뉴욕"
, " US|9|로스앤젤레스", "US|10|시카고", "US|11|휴스턴" , "US|12|필라델피아", "US|13|샌프란시스코"};
CityDt.Columns.Add("cityName");
CityDt.Columns.Add("Pid");
for (int i = 0; i
newRow["cityCode "] = 도시[i].Split('| ') [1] ) ] 국가 = { "CN|중국", "JP|일본", "미국|미국 주" };
CountryDt.Columns.Add("countryCode");
CountryDt.Columns.Add("countryName");
’ s ’ s s ’ s ‐ ‐ ‐ {
var newRow = CountryDt.NewRow ();
newRow["countryCode"] = 국가[i].Split('|')[0];
newRow["countryName"] = 국가[i].Split('|')[1];
CountryDt.Rows.Add(newRow); umns.Add("Id");
dt.Columns.Add( "CountryCode" ); .NewRow();
newRow["Id" ] = i.ToString(); dt .Rows.Add(newRow); (객체 보낸 사람, EventArgs e)
> DataTable로 사용;
var newRow = dt.NewRow();
newRow["Id"] = dt.Rows.Count + 1;
dt .Rows.Add(newRow);
for (int i = 0; i < dt.Rows.Count; i++)
{
var countryCell = new DataGridViewComboBoxCell();
countryCell.DataSource = CountryDt;
countryCell.ValueMember = "countryCode";
countryCell.DisplayMember = "countryName";
dataGridView1.Rows[i].Cells["countryCode"] = countryCell;
}
}
private void dataGridView1_CellValueChanged(객체 전송자, DataGridViewCellEventArgs e)
{
var dt = this.dataGridView1.DataSource as DataTable;
if (dataGridView1.Columns[e.ColumnIndex].Name == nameof(CountryCode))
{
var countryCode = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
var drs = CityDt.Select("Pid='" + countryCode + "'");
var newCityDt = new DataTable();
newCityDt.Columns.Add("cityCode");
newCityDt.Columns.Add(" 도시이름");
newCityDt.Columns.Add("Pid");
foreach(drs의 DataRow 행)
{
var newCityD t.NewRow();
newRow["cityCode"] = row["cityCode"];
newRow[ "cityName"] = row["cityName"];
newRow["Pid"] = row["Pid"];
newCityDt.Rows.Add(newRow);
}
var cityCell = new DataGridViewComboBoxCell();
cityCell.DataSource = newCityDt;
cityCell.DisplayMember = "cityName";
cityCell.ValueMember = "cityCode";
dataGridView1.Rows[e.RowIndex].Cells["C ityCode"] = cityCell;
}
}
비공개 void Main_Load(객체 전송자, EventArgs e)
{
var vdt = dataGridView1.DataSource as DataTable;
for (int i = 0; 나는 < vdt.Rows.Count; i++)
{
var cell = new DataGridViewComboBoxCell()
{
DisplayMember = "국가 이름",
ValueMember = "countryCode",
DataSource = CountryDt
};
dataGridView1.Rows[i].Cells["CountryCode"] = cell;
if (i % 2 == 0)
{
dataGridView1.Rows[i].Cells ["CountryCode"].Value = "일본";
dataGridView1.Rows[i].Cells["CityCode"].Value = new Random().Next(4, 7);
}
//else {
// dataGridView1.Rows[i].Cells["국가 코드 "].Value = "CN";
//}
if (i % 5 == 0)
{
dataGridView1.Rows[i].Cell s["CountryCode"].Value = "CN";
dataGridView1.Rows [i].Cells["CityCode"].Value = new Random().Next(1, 3);
}
if (i % 9 == 0)
{
dataGridView1.Rows[i].Cells[" CountryCode"].Value = "US";
dataGridView1.Rows[i].Cells["CityCode"].Value = new Random().Next(8, 13);
}
}
}
private void btnRemove_Click (객체 발신자, EventArgs e)
{
var selected = dataGridView1.SelectedRows;
var dt = dataGridView1.DataSource as DataTable;
if (selected.Count > 0)
{
for (var i = 0; i < selected.Count; i++)
{
var 행 = 선택됨[i];
dt.Rows.RemoveAt(row.Index);
}
}
}
위 내용은 DataGridView의 추가, 삭제, 수정을 어떻게 구현하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!