我有下面的方法。在此方法之前,我从一个表中获取数据,现在从两个表中获取数据,因此我更改了ListView,如下所示。
在使用两个不同的表之前,ListView是在属性选项卡上设计的,并且一切正常。
当写项目绕过第一列并从第二列开始时,下面的方法。
错误是什么?
任何帮助都会非常宝贵。
private void ShowPage()
{
// some declarations such count,LineNbr etc...
if (PublicVariables.PrintData == 1)
{
// seeting column headers and with and alignement if PrintData=1
newtmp = new string[5];
}
else
{
// seeting column headers and with and alignement if PrintData=2
newtmp = new string[7];
}
LineNbr = File.ReadAllLines(fName).Length;
ppc.View = View.Details;
ListViewItem DispItem = new ListViewItem();
while (counter < LineNbr && (line = streamToPrint.ReadLine()) != null)
{
string[] tmp = line.Split('|'); // Splitting the Data
sayac = 0;
for (int i = 0; i < tmp.Length; ++i)
{
if (tmp[i] != "")
{
newtmp[sayac] = tmp[i];
++sayac;
}
}
for (int a=0; a<newtmp.Length; ++a) // I add to SubItems
DispItem.SubItems.Add(newtmp[a]);
ppc.Items.AddRange(new ListViewItem[] {DispItem}); // I pass to ListView ppc
if (PublicVariables.PrintData == 1) //Initialise newtmp string
newtmp = new string[5];
else
newtmp = new string[7];
DispItem = new ListViewItem(); // Initialiase ListViewItem
++counter;
}
}
答案 0 :(得分:1)
for (int a=0; a<newtmp.Length; ++a) // I add to SubItems
DispItem.SubItems.Add(newtmp[a]);
ppc.Items.AddRange(new ListViewItem[] {DispItem}); // I pass to Lis
而不是上面的那些,我必须做如下:(
DispItem = new ListViewItem(newtmp);
ppc.Items.Add(DispItem);
我正在努力解决这个问题。
毕竟,我为那些放心的人找借口