DataGridView是C#中常用的控件之一,通過它可以方便地展示數據,并允許用戶進行編輯和操作。而使用Json格式將數據綁定到DataGridView中,則是一種快速且方便的方法。
private void BindData() { //獲取Json數據 string jsonData = GetJsonData(); //將Json數據轉化為DataTable DataTable dataTable = JsonConvert.DeserializeObject(jsonData); //設置DataGridView的數據源 dataGridView1.DataSource = dataTable; }
上述代碼中,GetJsonData()方法可以獲取到需要綁定的Json格式的數據,接著將該數據轉化為DataTable,并將DataTable設置為DataGridView的數據源,即可實現數據展示和編輯等功能。
此外,由于Json格式的數據可以嵌套,因此還可以使用擴展方法對Json數據進行解析和展開。
public static IEnumerableParseJsonData(this string jsonData, string parentKey = "") { JObject jObject = JObject.Parse(jsonData); foreach (var jToken in jObject.Children()) { if (jToken is JProperty property) { string key = parentKey == "" ? property.Name : $"{parentKey}.{property.Name}"; if (property.Value is JArray array) { int index = 0; foreach (JObject element in array.Children ()) { string arrayKey = $"{key}[{index}]"; foreach (var row in element.ToString().ParseJsonData(arrayKey)) { yield return row; } index++; } } else if (property.Value is JObject objectValue) { foreach (var row in objectValue.ToString().ParseJsonData(key)) { yield return row; } } else { yield return new DataGridViewRow { Cells = { new DataGridViewTextBoxCell { Value = key }, new DataGridViewTextBoxCell { Value = property.Value.ToString() } } }; } } } }
上述代碼中,通過ParseJsonData擴展方法可以將Json數據解析為包含所有鍵值對的DataGridViewRow,并可以展示嵌套數據和數組類型數據。
綜上所述,使用Json格式將數據綁定到DataGridView中,不僅能夠提高數據展示的效率,還能夠展示嵌套數據和數組類型數據,從而方便進行數據處理和分析。
上一篇vue2.0$index
下一篇c 解析json文件教程