我添加了 3 列。
修改后的屬性值如下。
- 查看詳情
- Onwer - 真
- 網格線 - 真
- FullRowSelect - 真
namespace TestWinForm
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void add_Click(object sender, EventArgs e)
{
//listView1.BeginUpdate();
string[] row = { "123", "456", "789" };
ListViewItem list_view = new ListViewItem(row);
listView1.Items.Add(list_view);
textBox1.Text = listView1.Items.Count.ToString();
//listView1.EndUpdate();
}
}
}
textbox1這是一個代碼,每次add單擊按鈕時添加資料行后將當前行數更新為。
顯然,行數不斷增加....但資料沒有輸出到listView1.
我應該檢查哪個部分?
uj5u.com熱心網友回復:
您所擁有的應該在添加列的詳細視圖中作業。這是一個例子
設計視圖

在這種情況下,使用以下類的實體,以便稍后我們可以獲取有關特定行的資訊。
public class Contact
{
public int CustomerIdentifier { get; set; }
public string CompanyName { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string PhoneTypeDescription { get; set; }
public string PhoneNumber { get; set; }
public string CountryName { get; set; }
public string[] ItemArray => new[]
{
CompanyName,
FirstName,
LastName,
PhoneNumber,
CountryName
};
}
進行模擬添加的代碼
private void AddRowButton_Click(object sender, EventArgs e)
{
var companyName = "Just added";
Contact contact = new Contact()
{
CompanyName = companyName,
FirstName = "Karen",
LastName = "Payne",
PhoneNumber = "123-333-4444",
CountryName = "USA"
};
ownerContactListView.Items.Add(
new ListViewItem(contact.ItemArray)
{
Tag = contact.CustomerIdentifier
});
CountLabel.Text = $@"Row count: {ownerContactListView.Items.Count}";
var index = ownerContactListView.Items.IndexOf(
ownerContactListView.FindItemWithText(companyName));
ownerContactListView.Items[index].Selected = true;
ownerContactListView.EnsureVisible(index);
ActiveControl = ownerContactListView;
}
添加上面的行后(注意我縮短了表格,所以你看到的是部分視圖)

可以看到整個初始加載,看下面。
uj5u.com熱心網友回復:
Havent使用Winforms好多年了,但我記得使用系結源更可靠
var bindingSource = new BindingSource();
bindingSource.DataSource = dataTable;
grid.DataSource = bindingSource;
//Add data to dataTable and then call
bindingSource.ResetBindings(false)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/476917.html
