显示ListView上同一行中相同列的表值

时间:2014-11-23 22:05:24

标签: c# sqlite listview

所以我正在研究租赁管理软件。这是一个住宅区,所以经理可以登记租户等付款。为了跟踪付款月份,我将年/月值存储在这样的字段中:

如果是2014年11月 - > MonthPaid = 201411 | 12月将是201412

付款存储在一个表(付款)中,其中包含另一个表(租金)中TenantID的外键,该表还存储了公寓的数量(AptID)。问题是我试图在ListView中显示相应ListView列中的付款(按月)。如果在指定月份没有付款(例如2014年4月4日),那么它现在应该在相应的ListView列(本示例中为Abril)中显示“Deuda”消息。这就是我到目前为止所做的:

http://i.imgur.com/G4Pubkz.jpg

这是预期的结果:

http://i.imgur.com/80oU8cN.jpg

这是我现在正在使用的代码:

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);

                 }
              }
          }
      }

任何建议都将非常感谢!哈哈,如果我刚写的内容有点难以理解,我很抱歉。我希望不是!

0 个答案:

没有答案