listview怎么在代码中动态添加行

如题所述

在WinForm中,通过以下代码可以动态为ListView添加行:

ListView1.View = View.Details;

ListView1.FullRowSelect = true;

ImageList imagelist1 = new ImageList();

imagelist1.Images.Add(Bitmap.FromFile(@"1.gif"));

imagelist1.Images.Add(Bitmap.FromFile(@"2.gif"));

imagelist1.Images.Add(Bitmap.FromFile(@"3.gif"));

ListView1.SmallImageList = imagelist1;

ListViewItem item1 = new ListViewItem("item1",0);

item1.SubItems.Add("第一行1");

item1.SubItems.Add("第一行2");

item1.SubItems.Add("第一行3");

ListViewItem item2 = new ListViewItem("item2", 1);

item2.SubItems.Add("第一行4");

item2.SubItems.Add("第一行5");

item2.SubItems.Add("第一行6");

ListViewItem item3 = new ListViewItem("item3", 2);

item3.SubItems.Add("第一行7");

item3.SubItems.Add("第一行8");

item3.SubItems.Add("第一行9");

ListView1.Items.AddRange(new ListViewItem[] {item1,item2,item3 });

ListView1.Columns.Add("第一列");

ListView1.Columns.Add("第二列");

ListView1.Columns.Add("第三列");

ListView1.Columns.Add("第四列");

然而,在asp.net中,以上代码无法直接运行。例如,ListView1.View = View.Details; 和 ListViewItem item3 = new ListViewItem("item3", 2); 这些语句会提示没有相关属性或方法。

在asp.net中,可以使用Repeater或DataList控件实现类似的功能。示例代码如下:

Repeater1.ItemTemplate = @"
<asp:Label ID="Label1" runat="server" Text=''>
<asp:Label ID="Label2" runat="server" Text=''>
<asp:Label ID="Label3" runat="server" Text=''>
<asp:Label ID="Label4" runat="server" Text=''>
";

Repeater1.DataSource = yourDataSource;
Repeater1.DataBind();

通过这种方式,可以在asp.net中动态添加行,并显示在网页上。

值得注意的是,由于ListView控件在asp.net中并不直接支持类似WinForm中的操作,因此在实际开发中需要灵活使用其他控件来实现相同的功能。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜