private void btnDetails_Click(object sender, EventArgs e)
{
try
{
string[] Row = { "", DocNum.Text, counter00,
CategoryNo.Text, cmbMeas.Text, cmbSubMeas.Text,
txtTarget.Text, txtActual.Text, cmbCARNo.Text,
cmbOverStat.Text, cmbOverStat.Text }
MMDetailsList.Items.Add(Row); <-- Error
}
catch (Exception) { }
}
我已经尝试过这个将一个字符串记录行放入我的listviewitem列表而不对数据库进行任何操作。
private void btnDetails_Click(object sender, EventArgs e)
{
try
{
string[] Row = new string[11];
Row[0] = "";
Row[1] = DocNum.Text;
Row[2] = counter00;
Row[3] = CategoryNo.Text;
Row[4] = cmbMeas.Text;
Row[5] = cmbSubMeas.Text;
Row[6] = txtTarget.Text;
Row[7] = txtActual.Text;
Row[8] = cmbCARNo.Text;
Row[9] = cmbOverStat.Text;
Row[10] = cmbOverStat.Text;
MMDetailsList.Items.AddRange(Row); <-- Error
}
catch (Exception) { }
}
很抱歉,如何在没有任何数据库记录操作的情况下将记录添加到列表视图中。
答案 0 :(得分:0)
问题:您要将String Array
分配给ListView.Items.AddRange()
功能,
但您需要将ListViewItemCollection
传递给ListView.Items.AddRange()
函数。
注意:如果要插入多行,则需要使用AddRange()
函数,但在这种情况下,您希望一次插入一行,这样就不需要了需要使用AddRange()
函数。
解决方案:您可以使用ListView.Items.Add()
函数一次向ListView
添加一行。
您需要将ListViewItem
作为参数传递给ListView.Items.Add()
函数。
ListViewItem
获取String Array
(String Array
每个String
代表一个列值,因此,如果ListView
中有10列,则应使用{ {1}} 10)作为参数在Length
语法:
ListView
示例代码:
ListViewItem listItem=new ListViewItem(String Array);
ListView.Items.Add(listItem);
完整代码:
ListViewItem listItem=new ListViewItem(ROW);
MMDetailsList.Items.Add(listItem);