Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c datagridview单向绑定_C#_Datagridview - Fatal编程技术网

C# c datagridview单向绑定

C# c datagridview单向绑定,c#,datagridview,C#,Datagridview,我有一个datagridview DGV1,我想从XML文件中读取并将DGV1绑定到它 但一旦在DGV1中进行了更改,我希望它存储在一个列表中 像文件之类的东西 XML --> DGV1 --> list 下面是我现在尝试的 public DataTable PopulateDGV1() { DataSet dataSet = new DataSet(); dataSet.ReadXml(GlobalParam.SettingsXML

我有一个datagridview DGV1,我想从XML文件中读取并将DGV1绑定到它 但一旦在DGV1中进行了更改,我希望它存储在一个列表中 像文件之类的东西

XML --> DGV1 --> list
下面是我现在尝试的

    public DataTable PopulateDGV1()
    {
        DataSet dataSet = new DataSet();
        dataSet.ReadXml(GlobalParam.SettingsXMLPath);
        return dataSet.Tables[0];
    }

    private void LoadDGV1_Click(object sender, EventArgs e)
    {
        DGV1.DataSource = _control.PopulateDGV1();
        if (DGV1.Columns[0] != null) DGV1.Columns[0].ReadOnly = true;//make the most left column read only 

    }
我想从储蓄中得到这样的东西

    List<string> data = new List<String>();
    foreach (DataGridViewRow item in DGV1.Rows)
    {
        if (item.Cells[1].Value!=null)
        data.Add(item.Cells[1].Value.ToString());

    }

我错过了什么

你的代码看起来不错。你能澄清一下你的问题吗?@HerrKater我希望这样做不会提示用户实际保存它,就像BindingList我认为只有一个方向为什么要维护两个collectionsDataTable和List,它们代表相同的东西?我将创建一个表示行的类,并将其用作网格的数据源。如果用户编辑网格,它会自动更新数据源。
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private List<Test> DataSource;

    public void PopulateDGV1()
    {
        DataSource=new List<Test>() { new Test() { Age = 2, Name = "Test" } };
        //TODO:read your XML file
        DGV1.DataSource = DataSource;
    }

    private void LoadDGV1_Click(object sender, EventArgs e)
    {
        PopulateDGV1();
    }

}

public class Test
{
    public string Name { get; set; }
    public int Age { get; set; }
}