我试图将项目添加到ListView,并且ListView似乎已填充。滚动条出现,但标题消失,项目不可见。我不明白发生了什么。
当我尝试一次填充一个项目列表时,项目会显示出来。如果我将视图更改为List,LargeIcon,SmallIcon或Tile,则所有项都会显示。出于某种原因,如果我将视图设置为“详细信息”,则不会显示项目,并且列标题会消失。
这是代码......
private void RefreshUIForRecord()
{
string colRecFlagStr = "Recorded";
lstFiles.Clear();
int fileId;
int round;
string descript;
int recFlag;
DataRow dr = null;
for (int i = 0; i < DtList.Rows.Count; i++)
{
dr = DtList.Rows[i];
fileId = Convert.ToInt32(dr.ItemArray[0]);
round = Convert.ToInt32(dr.ItemArray[1]);
descript = dr.ItemArray[2].ToString().Trim();
recFlag = Convert.ToInt32(dr.ItemArray[4]);
bool add = false;
Color color = Color.Black;
switch (recFlag)
{
case 1:
if (chkShowRecd.Checked)
{
add = true;
color = Color.Green;
colRecFlagStr = "Recorded";
}
break;
case 2:
if (chkShowDontRec.Checked)
{
add = true;
color = Color.Red;
colRecFlagStr = "Don't Record";
}
break;
default:
add = true;
break;
}
if (add)
{
ListViewItem lvi = new ListViewItem();
if (descript != "")
lvi.Text = descript;
else
lvi.Text = (AmpScriptId.ToString("D3") + "scr" + fileId.ToString("D4") + VoiceID.ToString("D5") + round.ToString("D2") + ".wav");
lvi.ForeColor = color;
lvi.SubItems.Add(colRecFlagStr);
lstFiles.Items.Add(lvi);
}
}
}
答案 0 :(得分:0)
我明白了。这个问题就在这里......
lstFiles.Clear();
我的意思是只清除这些项目,但它也清除了列。我把线改成了......
lstFiles.Items.Clear();
现在它按预期工作。