伙计们,我是在 c# 中实现 ListView 的初学者。我在 c#.net 中遇到了这些代码的问题。而且我无法弄清楚输出显示的控件中发生了什么。似乎我忘记了在 ListView 控件的属性中赋予值的内容。
第二列值必须出现在第一列。
这是我的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace Database2
{
public partial class Form1 : Form
{
OleDbConnection con;
OleDbDataAdapter adapter;
DataTable table;
string conString = "Provider = Microsoft.Jet.OLEDB.4.0.; Data Source=DatabaseTest.mdb";
string sqlQuery = "SELECT * FROM Person";
public Form1() {
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e){
con = new OleDbConnection(conString);
adapter = new OleDbDataAdapter(sqlQuery,conString);
table = new DataTable();
InitializeList();
adapter.Fill(table);
for (int i = 0; i < table.Columns.Count; i++)
lstDisplay.Columns.Add(table.Columns[i].ColumnName.ToString(), lstDisplay.Width / 6-1);
for (int i = 0; i < table.Rows.Count; i++) {
ListViewItem row = new ListViewItem();
for (int j = 0; j < table.Columns.Count; j++)
row.SubItems.Add(table.Rows[i][j].ToString());
lstDisplay.Items.Add(row);
}
}
private void InitializeList() {
lstDisplay.GridLines = true;
lstDisplay.AllowColumnReorder = true;
lstDisplay.LabelEdit = true;
lstDisplay.FullRowSelect = true;
lstDisplay.Sorting = SortOrder.Ascending;
lstDisplay.View = View.Details;
}
}
}
是否有我忘记给出值的 listView 属性?