所以我有4个数组,它们包含名字、姓氏、用户名和访问类型(读、读/写,没有)。我需要将这些数组的值插入一个具有34列的列表视图中,前3个对应于前3个数组,其余的则需要包含这些用户的访问类型(列标题是他们可以访问的文件夹名称)。我的问题在于访问类型数组。如何将每行的31个值插入访问类型数组的listview中?access数组的前31个值对应于第一个用户名,接下来的31个对应于第二个用户名,等等。到目前为止,我已经插入了前三个数组,如下所示:
for (int i = 0; i < rows; i++)
{
list.Items.Add(new ListViewItem(new string[] { fname[i], lname[i], uname[i] }));
}这增加了所有的用户。
不知道如何插入其他值..。
发布于 2014-04-28 11:41:29
假设您的最后一个数组名为accesslist,并且假设它对每个用户都有31个值,这将有效,尽管它会变得相当长。
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来填充它。
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));
}发布于 2014-04-28 12:11:23
将“访问类型”的数组转换为列表。创建一个具有这31个值的类,并列出该类的列表。然后你的工作将是fast4er,也减少了。
public class accessType
{
public String prop1{get;set;}
public String prop2{get;set;}
public String prop3{get;set;}
.
.
.
public String prop31{get;set;}
}现在,列出一个类的列表:
List<accessType> accessType=new List<accessType>();然后在这里绑定列表视图:
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++
);发布于 2014-04-28 11:39:43
就像.
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] }));
}https://stackoverflow.com/questions/23339761
复制相似问题