【发布时间】:2018-02-02 00:56:21
【问题描述】:
我正在尝试将项目添加到 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);
}
}
}
【问题讨论】:
-
如果
dtList是一个数据表,则 DataGridView 将更容易填充,尤其是。请阅读How to Ask 并使用tour。