DataGridView의 추가, 삭제, 수정을 어떻게 구현하나요?

零下一度
풀어 주다: 2017-06-24 09:31:03
원래의
3761명이 탐색했습니다.

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(" cityCode");

CityDt.Columns.Add("cityName");
CityDt.Columns.Add("Pid");
for (int i = 0; i var newRow = CityDt .NewRow();
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿