色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

dategride json格式

DataGridView是C#中常用的控件之一,通過(guò)它可以方便地展示數(shù)據(jù),并允許用戶進(jìn)行編輯和操作。而使用Json格式將數(shù)據(jù)綁定到DataGridView中,則是一種快速且方便的方法。

private void BindData()
{
//獲取Json數(shù)據(jù)
string jsonData = GetJsonData();
//將Json數(shù)據(jù)轉(zhuǎn)化為DataTable
DataTable dataTable = JsonConvert.DeserializeObject(jsonData);
//設(shè)置DataGridView的數(shù)據(jù)源
dataGridView1.DataSource = dataTable;
}

上述代碼中,GetJsonData()方法可以獲取到需要綁定的Json格式的數(shù)據(jù),接著將該數(shù)據(jù)轉(zhuǎn)化為DataTable,并將DataTable設(shè)置為DataGridView的數(shù)據(jù)源,即可實(shí)現(xiàn)數(shù)據(jù)展示和編輯等功能。

此外,由于Json格式的數(shù)據(jù)可以嵌套,因此還可以使用擴(kuò)展方法對(duì)Json數(shù)據(jù)進(jìn)行解析和展開(kāi)。

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() }
}
};
}
}
}
}

上述代碼中,通過(guò)ParseJsonData擴(kuò)展方法可以將Json數(shù)據(jù)解析為包含所有鍵值對(duì)的DataGridViewRow,并可以展示嵌套數(shù)據(jù)和數(shù)組類(lèi)型數(shù)據(jù)。

綜上所述,使用Json格式將數(shù)據(jù)綁定到DataGridView中,不僅能夠提高數(shù)據(jù)展示的效率,還能夠展示嵌套數(shù)據(jù)和數(shù)組類(lèi)型數(shù)據(jù),從而方便進(jìn)行數(shù)據(jù)處理和分析。