我從本地檔案夾中保存了 JSON 檔案。請看下面:
伊萬·迪金.json
{
"FirstName": "Ivan",
"LastName": "Deakin",
"Email": "ivan.deakin",
"TeamName": "Ivan Deakin",
"Password": "ivan12345",
"IsActive": "Yes",
"UserId": 5
}
下面是我的代碼:
private void ShowListView()
{
//listBoxUsers.Items.Clear();
var dir = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
var outputDir = Path.Combine(dir, "Output");
foreach (var file in Directory.GetFiles(outputDir, "*.json"))
{
var text = File.ReadAllText(file);
var model = JsonConvert.DeserializeObject<UserAccount>(text);
listBoxUsers.Items.Add(model);
}
}
目前,此代碼使用 Items.Add 將 JSON 檔案加載到串列視圖。我想要實作的是使用資料源而不是 Items.Add 來填充串列框。
請看下面的代碼:
listBoxUsers.DataSource = model;
但它不允許我,它給了我一個錯誤“復雜 DataBinding 接受 IList 或 IListSource 作為資料源。我不確定是否需要先將“模型”轉換為字串串列。誰能幫我這個?
uj5u.com熱心網友回復:
你的功能應該是這樣的:
private void ShowListView()
{
List<UserAccount> userAcounts = new List<UserAccount>();
//listBoxUsers.Items.Clear();
var dir = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
var outputDir = Path.Combine(dir, "Output");
foreach (var file in Directory.GetFiles(outputDir, "*.json"))
{
var text = File.ReadAllText(file);
var model = JsonConvert.DeserializeObject<UserAccount>(text);
userAcounts.Add(model);
}
listBoxUsers.DataSource = userAcounts;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/489382.html
上一篇:和DataGridViewc#
