访问C#中索引9上方的Listview索引?
我有一个Listview控件,它显示有12列的数据。从第1列到第9列显示,但在第9列以上,即使提供了索引号,也不显示数据 查看下面的代码,该代码包含所有列的索引。另见上图:访问C#中索引9上方的Listview索引?,c#,winforms,listview,C#,Winforms,Listview,我有一个Listview控件,它显示有12列的数据。从第1列到第9列显示,但在第9列以上,即使提供了索引号,也不显示数据 查看下面的代码,该代码包含所有列的索引。另见上图: public void populateProductList() { string cmdString = "SELECT * FROM PRODUCT"; StockDbConnection dbcon = new StockDbConnection(); SqlCeConnection Co
public void populateProductList()
{
string cmdString = "SELECT * FROM PRODUCT";
StockDbConnection dbcon = new StockDbConnection();
SqlCeConnection Conn = new SqlCeConnection(dbcon.ReturnConnection("ConnString"));
SqlCeCommand cmd = new SqlCeCommand(cmdString, Conn);
try
{
Conn.Open();
SqlCeDataReader dr = cmd.ExecuteReader();
lstvwProduct.Items.Clear();
while(dr.Read())
{
ListViewItem obj=new ListViewItem();
obj.SubItems[0].Text = dr[0].ToString();
obj.SubItems.Add(dr[1].ToString());
obj.SubItems.Add(dr[2].ToString());
obj.SubItems.Add(dr[3].ToString());
obj.SubItems.Add(dr[4].ToString());
obj.SubItems.Add(dr[5].ToString());
obj.SubItems.Add(dr[6].ToString());
obj.SubItems.Add(dr[7].ToString());
obj.SubItems.Add(dr[8].ToString());
obj.SubItems.Add(dr[9].ToString());
obj.SubItems.Add(dr[10].ToString());
obj.SubItems.Add(dr[11].ToString());
//in object of ListViewItem give display member at first and give value member at second position
lstvwProduct.Items.Add(obj);
// add object to the listbox
}
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}
}
问题是:索引10和11没有显示,我已经有了它们的列集合。您只需将一个数据集分配给Gridview的datasource属性即可。 这对你会更有帮助
public void populateProductList()
{
string cmdString = "SELECT * FROM PRODUCT";
StockDbConnection dbcon = new StockDbConnection();
SqlCeConnection Conn = new SqlCeConnection(dbcon.ReturnConnection("ConnString"));
SqlCeCommand cmd = new SqlCeCommand(cmdString, Conn);
DataSet ds;
try
{
Conn.Open();
SqlCeDataAdapter da = new SqlCeDataAdapter(cmdString, Conn);
da.fill(ds);
lstDGView.DataSource=ds;
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}
}
在添加obj之后,你试过调试lstvwProduct吗?我支持@Joseph的说法,试着调试,逐行检查索引9-11是否有值。也许你甚至可以尝试一些直接的命令,比如
dr
的大小/计数/长度。问题是没有显示最后两列。@Melvin是的,我发现dr[10]和dr[11]有一个数据,我用messageBox.show(dr[10].toString())对其进行了检查,我认为问题出在listview索引上。如果dr[10]和dr[11]放在dr[1]下面,请执行dr[10]和dr[11]work??Listview的数据源未处于活动状态为什么?@NurSelam您可以尝试使用Datagrid view吗?