如何在DataGrid WPF中取消json字符串格式化?

lf5gs5x2  于 2022-12-14  发布在  其他
关注(0)|答案(1)|浏览(193)

我的DataGrid自动修饰json字符串。
我有设置DataGrid的ItemsSouse属性的代码:

private void ExecuteSQL_Click(object sender, RoutedEventArgs e)
    {
        var conn = new NpgsqlConnection(connectionString);
        try
        {
            conn.Open();
            var cmd = new NpgsqlCommand(SQLQueryText, conn);
            var dt = new DataTable();
            dt.Load(cmd.ExecuteReader());
            queryResultGrid.ItemsSource = dt.DefaultView;
        }

        catch (Exception ex)
        {
            MessageBox.Show($"Исключение: {ex.Message}");
        }
        finally
        {
            conn.Close();
        }

DataTable的一个字段是json格式的字符串。我不需要它的格式很好,但是DataGrid会自动完成。结果,行变得有点难看:

我希望字符串显示如下:“我不知道”:“DDR4”,...}

epfja78i

epfja78i1#

你的数据网格不知道任何关于json字符串的事情,它有一个字符串类型的属性单元格,而不是json。

dt.Load(cmd.ExecuteReader());

foreach (DataRow  row in dt.Rows)
  row["attributes"]= JsonConvert.SerializeObject( 
                        JObject.Parse(row["attributes"]),Formatting.None);

queryResultGrid.ItemsSource = dt.DefaultView;

相关问题