C# 在ListView的同一行中显示来自同一列的表值
所以我正在开发一个租金管理软件。这是针对住宅综合体的,因此经理可以注册租户支付的款项等。为了跟踪支付的月份,我将年/月值存储在如下字段中: 如果是2014年11月->月援助=201411 | 12月将是201412 付款存储在一个表(payments)中,该表的外键指向另一个表(Rent)中的租户ID,该表还存储公寓(AptID)的数量。问题是,我试图在ListView中显示相应ListView列中的付款(按月)。如果指定月份(例如20144年4月)没有付款,那么现在应该在相应的ListView列中显示消息“Deuda”(本例中为Abril)。这就是我到目前为止所做的: 这是预期的结果: 这是我现在正在使用的代码:C# 在ListView的同一行中显示来自同一列的表值,c#,sqlite,listview,C#,Sqlite,Listview,所以我正在开发一个租金管理软件。这是针对住宅综合体的,因此经理可以注册租户支付的款项等。为了跟踪支付的月份,我将年/月值存储在如下字段中: 如果是2014年11月->月援助=201411 | 12月将是201412 付款存储在一个表(payments)中,该表的外键指向另一个表(Rent)中的租户ID,该表还存储公寓(AptID)的数量。问题是,我试图在ListView中显示相应ListView列中的付款(按月)。如果指定月份(例如20144年4月)没有付款,那么现在应该在相应的ListView
using (SQLiteConnection conn = new SQLiteConnection(cs.connstring))
{
using (SQLiteCommand cmd = new SQLiteCommand("select AptID,MonthPaid from Rent inner join Payments on Rent.TenantID = Payments.TenantID", conn))
{
conn.Open();
using (SQLiteDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
ListViewItem item = new ListViewItem(dr["AptID"].ToString());
if (dr["MonthPaid"].ToString() == "20141")
{
item.SubItems.Add(dr["MonthPaid"].ToString());
}
else
{
item.SubItems.Add("Deuda");
}
if (dr["MonthPaid"].ToString() == "20142")
{
item.SubItems.Add(dr["MonthPaid"].ToString());
}
else
{
item.SubItems.Add("Deuda");
}
if (dr["MonthPaid"].ToString() == "20143")
{
item.SubItems.Add(dr["MonthPaid"].ToString());
}
else
{
item.SubItems.Add("Deuda");
}
if (dr["MonthPaid"].ToString() == "20144")
{
item.SubItems.Add(dr["MonthPaid"].ToString());
}
else
{
item.SubItems.Add("Deuda");
}
lstMesesTodos.Items.Add(item);
}
}
}
}
如有任何建议,将不胜感激!如果我刚才写的有点难懂,我很抱歉,哈哈。我希望不是这样 使用DataGridView而不是ListView可以省去很多麻烦我实际上是从DataGridView开始的,但我甚至无法获得多条记录,我认为使用ListView在这种情况下会更容易。