到目前为止,所有我都使用列表视图首先检索数据并将其放在指定的文本框中,我想要的是,当我检索或搜索数据时,它将自动放入表单中的指定文本框
private void btnretrieve_Click(object sender, EventArgs e)
{
con.Open();
SqlCommand cmd = new SqlCommand("Select * from Information", con);
SqlDataAdapter dta = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
dta.Fill(dt);
con.Close();
lvwcontacts.Items.Clear();
for (int index = 0; index < dt.Rows.Count; index++)
{
lvwcontacts.Items.Add(dt.Rows[index]["CONTACT_ID"].ToString());
lvwcontacts.Items[index].SubItems.Add(dt.Rows[index]["CONTACT_NAME"].ToString());
lvwcontacts.Items[index].SubItems.Add(dt.Rows[index]["CONTACT_ADDRESS"].ToString());
lvwcontacts.Items[index].SubItems.Add(dt.Rows[index]["CONTACT_NO"].ToString());
}
答案 0 :(得分:0)
使用ListView
,您将无法做到这一点。但是,另一种方法可能是这样的:
lvwcontacts.Items.AddRange(
from r in dt.Select()
select new ListViewItem(r.ItemArray.Cast<string>().ToArray())
);
但是,您还需要将SELECT
声明更改为:
Select CONTACT_ID, CONTACT_NAME, CONTACT_ADDRESS, CONTACT_NO from Information
答案 1 :(得分:0)
您可以将结果放在一个类中。首先,您需要创建一个联系人类。
Class Contact
{
'.. containing ID, Name, Address, No
}
然后我建议你把所有的逻辑都放在一个函数中。在那里,您将填充一个对象列表,而不是填充列表视图。
Public List<Contact> GetContacts()
{
List<Contact> contactList = new List<Contact>();
con.Open();
SqlCommand cmd = new SqlCommand("Select * from Information", con);
SqlDataAdapter dta = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
dta.Fill(dt);
con.Close();
for (int index = 0; index < dt.Rows.Count; index++)
{
Contact newContact = new Contact();
newContact.ID = dt.Rows[index]["CONTACT_ID"];
newContact.Name = dt.Rows[index]["CONTACT_NAME"];
newContact.Address = dt.Rows[index]["CONTACT_ADDRESS"];
newContact.NO = dt.Rows[index]["CONTACT_NO"];
contactList.Add(newContact);
}
return contactList;
}
然后,您可以将列表中的数据放在任何位置。
*我没有编译代码。