-1

ac# windows アプリケーション、列、およびヘッダーで作成するにはどうすればよいですか? このように:ここに画像の説明を入力

はい、行を動的に追加したいと思います。

どうやってやるの?

4

2 に答える 2

1

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;

BindingListsimple の代わりに使用する場合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
    }); 
}
于 2012-11-18T10:55:01.653 に答える
1

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;
于 2012-11-18T10:45:18.863 に答える