C#一般怎么在windows应用窗体中显示在数据库查询的数据包装的一个对象

比如一个对象User 他有成员变量userID,name,age等,怎么在窗口中显示这一条信息(就是这个对象),一般用什么控件。

listview

private void InitListView(ListView ListView)
{
//添加列头
ColumnHeader ch1 = new ColumnHeader();
ch1.Width = 100; //列标头宽
ch1.Text = "学号"; //列标头名称
ColumnHeader ch2 = new ColumnHeader();
ch2.Width = 100;
ch2.Text = "姓名";
listView1.Columns.Add(ch1);//在同一行上添别的列(此处一行共两列)
listView1.Columns.Add(ch2);

//设置属性
listView1.GridLines = true;//显示网格线
listView1.FullRowSelect = true;//是否全行选择
listView1.HideSelection = false;//失去焦点时显示选择的项
listView1.HoverSelection = true;//当鼠标停留数秒时自动选择项
listView1.MultiSelect = false;//设置只能单选

ImageList li = new ImageList();
li.Images = new Size(80, 80);//指定图标的大小
li.Images.Add(Image.FromFile("pen.jpg"));//添加图标
li.Images.Add(Image.FromFile("box.jpg"));
li.Images.Add(Image.FromFile("file.jpg"));
listView1.LargeImageList = li;//设置大图标的集合

ImageList sm = new ImageList();
sm.ImageSize = new Size(30, 30);//指定图标大小
sm.Images.Add(Image.FromFile("pen.jpg"));
sm.Images.Add(Image.FromFile("box.jpg"));
sm.Images.Add(Image.FromFile("file.jpg"));
listView1.SmallImageList = sm;//设置小图标

//添加项
ListViewItem lv = new ListViewItem("钢笔");//第一列的记录为钢笔
lv.SubItems.Add("001");//添加第二列的内容为001
lv.SubItems.Add("派克");//添加第三列的内容
lv.ImageIndex = 0;//指定图像的索引
listView1.Items.Add(lv);
}
把 void InitListView(ListView ListView)添加到
public Form1 ()
{

InitializeComponent();
InitListView(this.listView1);

}

例:

private void InitListView(ListView ListView)
{
ColumnHeader h1 = new ColumnHeader();
h1.Width = 85;
h1.Text = "编号";
ColumnHeader h2 = new ColumnHeader();
h2.Width = 100;
h2.Text = "名称";
ColumnHeader h3 = new ColumnHeader();
h3.Width = 100;
h3.Text = "单价";
listView1.Columns.Add(h1);
listView1.Columns.Add(h2);
listView1.Columns.Add(h3);
listView1.View = View.Details;
listView1.GridLines = true;
listView1.FullRowSelect = true;
}

显示选中行的字段值

void listView_SelectedIndexChanged(object sender,EventArgs e) //当列表中的索引改变时引发此事件

{

//通过SubItems来访问其他列的属性

//必须在listview1中有选中项

listView1.SelectedItems[0].SubItems[1].Text;+"\n" //0为行号(可选多行时),1为列为(第二列,第一列0)

}

记问listview中所有的记录

添加记录时必这样添加

ColumnHeader h1 = new ColumnHeader();
h1.Width = 85;
h1.Text = "编号";
ColumnHeader h2 = new ColumnHeader();
h2.Width = 100;
h2.Text = "名称";
ColumnHeader h3 = new ColumnHeader();
h3.Width = 100;
h3.Text = "单价";
listView1.Columns.Add(h1);
listView1.Columns.Add(h2);
listView1.Columns.Add(h3);
这样是添加了3个字段,三条记录

如果用listview1.items.add('值");这种添加方法为一次添加一行一列,无法达到一行多列的目的

访问所有记录代码:

if (listView1.Items.Count > 0)
{
foreach (ListViewItem lt in listView1.Items)
{
MessageBox.Show(Convert.ToString(lt.SubItems[0].Text));//记问第行记录的第一个字段值
}
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜