C#
このままだと同じインスタンスになってるので、左右で同じ動きになってしまう。
出典: 【C#】DataGridViewにDataTable反映したり変換して取得したりする — DataGridViewをDataTableに変換して取得するには? / このままだと同じインスタンスになってるので、左右で同じ動きになってしまう。
private void button1_Click(object sender, EventArgs e)
{
var data = (DataTable)dataGridView1.DataSource;
var newDt = data.Copy();
dataGridView2.DataSource = newDt;
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
Source収録記事
この snippet は記事の「DataGridViewをDataTableに変換して取得するには? / このままだと同じインスタンスになってるので、左右で同じ動きになってしまう。」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。
同じ記事から
7 件private DataTable getDataTable() { var dt = new DataTable(); var idCol = dt.Columns.Add("ID");未収録
DataTableの定義
#a4a95e25ff1d
private void Form1_Load(object sender, EventArgs e) { dataGridView1.DataSource = getDataTable(); }未収録
DataGridViewのDataSourceに反映させる
#90454beb1e12
private void Form1_Load(object sender, EventArgs e) { dataGridView1.DataSource = getDataTable();未収録
余談1:列名を変更したいならColumnNameのプロパティを触る
#e971cd5ead3c
public class User { public int ID { get; set; } public string Name { get; set; }未収録
余談2:CustomClassもDataSourceにできます
#ab4b87efdb29
private IEnumerable<User> GetUsers() { var user1 = new User(1, "鈴木 おさむ",22, "東京都世田谷区"); var user2 = new User(2, "高橋 つよし",25, "東京都葛飾区");未収録
余談2:CustomClassもDataSourceにできます
#5c9fd7e063bb
private void Form1_Load(object sender, EventArgs e) { //dataGridView1.DataSource = getDataTable();未収録
余談2:CustomClassもDataSourceにできます
#9e611e145e57
