使用c#检查复选框时,在datagridview中获取行/多行数据

时间:2016-11-14 07:59:16

标签: c# xml checkbox datagridview

您好我想问一个解决方案,如果选中该复选框并将其保存到xml文件,我可以从datagridview获取整行数据或多行

这是我现有的代码

     %dw 1.0
     %output application/json
     ---
     {
        "Transaction":"111",
        "type":"b002",
        "volume":
        [       
            payload groupBy $.StartDate map ((val,cal) ->
            {
                StartDate:val.StartDate[0],

                "Entries" :
                [
                    {
                        AccountID : val.AccountID,
                        ProductID : val.ProductID,
                        Value : val.Value
                    }
                ]
            }
            )
        ]
     }

And iam still getting the out put as :

            {
        "Transaction": "111",
        "type": "b002",
        "volume": [
          [
            {
              "StartDate": "8/1/2016",
              "Entries": [
                {
                  "AccountID": [
                    "16482965",
                    "16482966"
                  ],
                  "ProductID": [
                    "12235398476-AR02",
                    "12235398477-AR03"
                  ],
                  "Value": [
                    "1720",
                    "1722"
                  ]
                }
              ]
            },
            {
              "StartDate": "7/31/2016",
              "Entries": [
                {
                  "AccountID": [
                    "16482964"
                  ],
                  "ProductID": [
                    "12235398475-AR01"
                  ],
                  "Value": [
                    "1720"
                  ]
                }
              ]
            }   

          ]
        ]
      } 

我的表有4列MD_Num,MD_ID,MD_AGE,MD_DATE。是否可以选择一行并将列的每个值插入单个文本框并将其保存为具有ff格式的XML文件:

private void button1_Click(object sender, EventArgs e)
{
  DataTable dt = new DataTable();
  dt = ds.Tables["Tables"];
  DataView view = new DataView(dt);
  view.RowFilter = "MD_ID = " + MdNum;

  //add checkbox to datagrid data
  dataGridView2.Columns.Add(chk);
  chk.HeaderText = "Select";

  //populate datagridview with data
  dataGridView2.DataSource = view;
}

private void SaveBtn_Click(object sender, EventArgs e)
{

}

1 个答案:

答案 0 :(得分:0)

回答你的第二个问题...... 在dataGridView的单元格单击事件中

  private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        txtnum.Text = dataGridView1.SelectedRows[0].Cells["MD_Num"].Value.ToString();
        txtid.Text = dataGridView1.SelectedRows[0].Cells["MD_Num"].Value.ToString();
        txtage.Text = dataGridView1.SelectedRows[0].Cells["MD_Age"].Value.ToString();
        txtdate.Text = dataGridView1.SelectedRows[0].Cells["MD_Date"].Value.ToString();
    }

对于保存按钮,随意更改xml文件的路径

    private void btn_Save_Click(object sender, EventArgs e)
    {
        string num = txtnum.Text;
        string id = txtid.Text;
        string age = txtage.Text;
        string date = txtdate.Text;

        XmlTextWriter writer = new XmlTextWriter(@"C:\Users\Public\Desktop\Details.xml", System.Text.Encoding.UTF8);
        writer.WriteStartDocument(true);
        writer.Formatting = Formatting.Indented;
        writer.Indentation = 2;
        writer.WriteStartElement("MDS");
        create_node(num, id, age,date, writer);           
        writer.WriteEndElement();
        writer.WriteEndDocument();
        writer.Close();
        MessageBox.Show("XML File created ! ");
    }

然后你必须添加的方法创建节点

  private void create_node(string num, string id, string age,string date, XmlTextWriter writer)
    {
        writer.WriteStartElement("Table");
        writer.WriteStartElement("MD_Num");
        writer.WriteString(num);
        writer.WriteEndElement();
        writer.WriteStartElement("MD_ID");
        writer.WriteString(id);
        writer.WriteEndElement();
        writer.WriteStartElement("MD_Age");
        writer.WriteString(age);
        writer.WriteEndElement();
        writer.WriteStartElement("MD_Date");
        writer.WriteString(date);
        writer.WriteEndElement();
        writer.WriteEndElement();
    }

ooh并在InitializeComponent()更改选择模式下进行完整行选择

 dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;