C#把dataGridView数据datatable转换成json数据,并用URL-POST方法传递参数给远程服务器

本文介绍了如何使用C#将dataGridView中的数据转化为json格式,并通过URL-POST方法传递给远程服务器。首先利用DataTable读取dataGridView数据,然后构建json字符串。接着,采用POST请求将json数据发送,内容来源于优快云上的学习和实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先是把dataGridView的数据读取出来,转换成json数据。这里用到的是datatable的用法。

先用DataTable 读取出来dataGridView数据。

DataTable dt = new DataTable();

在把数据读取到json数据里,在前面要定义JSONData1

JSONData1 = string.Empty;
                if (dt.Rows.Count > 0)
                {
                    JSONData1 = JsonConvert.SerializeObject(dt);
                }
                Console.WriteLine(JSONData1);

2.通过URL传递json数据,用POST请求传递数据

   public  string GetResponseData(string JSONData, string Url)
        {

            string url = "http://xx/api/Sourseanaly/add_saresult";
            byte[] bytes = Encoding.UTF8.GetBytes(JSONData);
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "POST";
            request.ContentLength = bytes.Length;
            request.ContentType = "application/json
### 将 C# DataGridView 数据转换为 DataTable方法 为了实现从 `DataGridView` 到 `DataTable` 的转换,可以遍历 `DataGridView` 中所有的行和列,并将这些数据填充到新的 `DataTable` 实例中。下面是一个完整的例子来展示如何完成这一操作: ```csharp using System; using System.Data; using System.Windows.Forms; public class Form1 : Form { private DataGridView dataGridView1; public Form1() { InitializeComponent(); } private void ConvertToDataTable(DataGridView dgv) { // 创建一个新的 DataTable 对象 DataTable dt = new DataTable(); // 添加列至 DataTable foreach (DataGridViewColumn column in dgv.Columns) { if (!column.Visible || column.IsDataBound) continue; // 跳过不可见或未绑定的列 Type dataType = typeof(string); // 如果单元格不是只读且具有特定的数据类型,则设置该类型的列 if (!dgv.ReadOnly && column.ValueType != null) { dataType = column.ValueType; } dt.Columns.Add(column.Name, dataType); } // 遍历 DataGridView 行并将它们添加到 DataTable 中 foreach (DataGridViewRow row in dgv.Rows) { DataRow dr = dt.NewRow(); for (int i = 0; i < dgv.ColumnCount; ++i) { if (row.Cells[i].Value == null) { dr[i] = DBNull.Value; } else { dr[i] = row.Cells[i].Value.ToString().Trim(); } } dt.Rows.Add(dr); } // 移除最后可能存在的空行(如果 DataGridView 允许用户添加新行) if (dt.Rows.Count > 0 && dt.Rows[dt.Rows.Count - 1].ItemArray.All(item => item == DBNull.Value)) { dt.Rows.RemoveAt(dt.Rows.Count - 1); } // 输出表格内容验证转换成功与否 foreach (DataRow r in dt.Rows) { foreach (var c in dt.Columns.Cast<DataColumn>()) { Console.Write(r[c] + " "); } Console.WriteLine(); } } } ``` 此代码片段展示了如何通过迭代 `DataGridView` 来构建相应的 `DataTable` 结构并填充其数据[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值