ac# windows アプリケーション、列、およびヘッダーで作成するにはどうすればよいですか? このように:
はい、行を動的に追加したいと思います。
どうやってやるの?
database を使用しない場合、ADO.NET DataTables は必要ありません。フォームに gridview を追加するだけです。グリッドビューを選択すると、プロパティ ウィンドウの下部に 2 つのリンクが表示されAdd Column...
ますEdit Columns...
。ここで必要な列を追加して、そのタイプを設定できます。
次のクラスがあるとします。
public class City
{
public string Name { get; set; }
public string Country { get; set; }
public string CountryCode { get; set; }
public string State { get; set; }
}
DataGridViewTextBoxColumn 型の 4 つの列をヘッダーCountry:
、Country Code:
、State:
でGridView に追加しますCity:
(列を読み取り専用にすることができます)。次にEdit Columns
、各列の DataPropertyName に移動して指定します。これは、列がバインドされる City クラスのプロパティ名である必要があります。Name
たとえば、 column のプロパティである必要がありますCity
。
次に、都市のリストを作成し、GridView に割り当てます。
BindingList<City> cities = new BindingList<City>()
{
new City() { Name = "Carros", Country = "France", CountryCode = "FRA" },
new City() { Name = "Barcelona", Country = "Spain", State = "Catalonia" }
};
dataGridView.DataSource = cities;
BindingList
simple の代わりに使用する場合List
、都市リストの変更は DataGrid のデータに影響します (つまり、都市を追加または削除する場合)。
void ButtonAddCity_Click(object sender, EventArgs e)
{
cities.Add(new City() {
Name = nameTextBox.Text,
Country = countryTextBox.Text,
CountryCode = codeTextBox.Text,
State = stateTextBox.Text
});
}
DataTable
で使用できますDataGridView
:
DataTable table = new DataTable();
table.Columns.Add("Name", typeof(string));
table.Rows.Add("Johnnie");
// I assume that you've already created dataGridView (in your form)
dataGridView.DataSource = table;