ホームページ  >  記事  >  バックエンド開発  >  DataGridViewの追加、削除、変更を実装するにはどうすればよいですか?

DataGridViewの追加、削除、変更を実装するにはどうすればよいですか?

零下一度
零下一度オリジナル
2017-06-24 09:31:033764ブラウズ

1. winform フォーム アプリケーションを作成します

2. DataGridView コントロールをインターフェイスにドラッグします

3. 次のコードを書き始めます:

CountryDt = 新しいデータテーブル ();

プライベート データテーブル citydt = 新しいデータテーブル ();


Priving void InitCityDt()

string[] 都市 = { "CN|1|北京", "CN|2|天津」、「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");
for (int i = 0; i var newRow = CityDt.NewRow();

newRow["cityCode "] = city[i ].Split('| ') [1] ); 国 = { "CN|中国", "JP|米国" };
CountryDt.Columns.Add("countryName");
for (int i = 0; i {

var newRow = CountryDt.NewRow ();

newRow["countryCode"] = 国[i].Split('|')[0];
newRow["countryName"] = 国[i].Split('|')[1];
CountryDt.Rows.Add(newRow); ("Id");
dt.Columns.Add( " CountryCode" ); .NewRow();
newRow["Id" ] = i.ToString(); (オブジェクト送信者、 EventArgs e)
as DataTable;

var newRow = dt.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(object sender, DataGridViewCellEvent引数 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]。値;
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 newRow = newCity Dt.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].Cell s["CityCode"] = cityCell;
}
}

private void Main_Load(object sender, EventArgs e)
{
var vdt = dataGridView1.DataSource as DataTable;
for (int i = 0;私は< vdt.Rows.Count; i++)
{
var cell = new DataGridViewComboBoxCell()
{
DisplayMember = "countryName",
ValueMember = "countryCode",
DataSource = CountryDt
};

dataGridView1.Rows[i].Cells[" CountryCode"] = cell;
if (i % 2 == 0)
{
dataGridView1.Rows[i].C ells["国コード"].Value = "JP";
dataGridView1.Rows[i].Cells["CityCode"].Value = new Random().Next(4, 7);
}
//else {
// dataGridView1.Rows[i].Cells[" CountryCode "].Value = "CN";
//}
if (i % 5 == 0)
{
dataGridView1.Rows[i]。 Cells["国コード"].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 {
var row = selected[i];
dt.Rows.RemoveAt(row.Index);
}
}
}

以上がDataGridViewの追加、削除、変更を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。