首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从多个数组C#将值插入列表视图

从多个数组C#将值插入列表视图
EN

Stack Overflow用户
提问于 2014-04-28 11:21:01
回答 4查看 1.6K关注 0票数 0

所以我有4个数组,它们包含名字、姓氏、用户名和访问类型(读、读/写,没有)。我需要将这些数组的值插入一个具有34列的列表视图中,前3个对应于前3个数组,其余的则需要包含这些用户的访问类型(列标题是他们可以访问的文件夹名称)。我的问题在于访问类型数组。如何将每行的31个值插入访问类型数组的listview中?access数组的前31个值对应于第一个用户名,接下来的31个对应于第二个用户名,等等。到目前为止,我已经插入了前三个数组,如下所示:

代码语言:javascript
复制
for (int i = 0; i < rows; i++)
{
    list.Items.Add(new ListViewItem(new string[] { fname[i], lname[i], uname[i] }));   
}

这增加了所有的用户。

不知道如何插入其他值..。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-04-28 11:41:29

假设您的最后一个数组名为accesslist,并且假设它对每个用户都有31个值,这将有效,尽管它会变得相当长。

代码语言:javascript
复制
for (int i = 0; i < rows; i++)
{
    list.Items.Add(new ListViewItem(new string[] { fname[i], lname[i], uname[i],
        accesslist[0 + (i * 31)], accesslist[1 + (i * 31)], ... , accesslist[30 + (i * 31)] }));   
}

相反,在循环中创建一个字符串数组,并通过遍历accesslist来填充它。

代码语言:javascript
复制
for (int i = 0; i < rows; i++)
{
    var items = new string[34];

    items[0] = fname[i];
    items[1] = lname[i];
    items[2] = uname[i];

    for (int j = 0; j < 31; j++)
        items[j + 3] = accesslist[j + (i * 31)];

    list.Items.Add(new ListViewItem(items));
}
票数 1
EN

Stack Overflow用户

发布于 2014-04-28 12:11:23

“访问类型”的数组转换为列表。创建一个具有这31个值的类,并列出该类的列表。然后你的工作将是fast4er,也减少了。

代码语言:javascript
复制
public class accessType
{

public String prop1{get;set;}
public String prop2{get;set;}
public String prop3{get;set;}
.
.
.
public String prop31{get;set;}

}

现在,列出一个类的列表:

代码语言:javascript
复制
List<accessType> accessType=new List<accessType>();

然后在这里绑定列表视图:

代码语言:javascript
复制
Int32 i=0;
 accessType.ForEach(x=>
                lstViewTest.Items.Add(new ListViewItem{fname[i],lname[i],uName[i],x.prop1,x.prop2,x.prop3,....,x.prop31}); i++ 
                    );
票数 1
EN

Stack Overflow用户

发布于 2014-04-28 11:39:43

就像.

代码语言:javascript
复制
for (int i = 0; i < rows; i++)
{
    list.Items.Add(new ListViewItem(new string[] { fname[i], lname[i], uname[i], accesstype[i * 31], accesstype[i * 31 + 1], etc, etc, ..., accesstype[i * 31 + 30] }));   
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23339761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档