OSDN Git Service

AppliStation-GUI,ListViewの列の追加と削除をサポートした。
[applistation/AppliStation.git] / AppliStation / PackageListView.cs
index bfc7d25..daf2a5a 100644 (file)
@@ -120,11 +120,16 @@ namespace AppliStation
                \r
                #region データ領域作成メソッド群\r
                \r
-               private static ListViewItem createListViewItemForPackage(Package pkg, ImageCategory imageKey)\r
+               private ListViewItem createListViewItemForPackage(Package pkg, ImageCategory imageKey)\r
                {\r
-                       string[] labels = new string[]{\r
-                               pkg.Name, pkg.Version, pkg.Summary,\r
-                       };\r
+                       string[] labels = new string[this.Columns.Count];\r
+                       foreach (ColumnHeader header in this.Columns) {\r
+                               string tag = header.Tag as string;\r
+                               if (tag == "Name")                              labels[header.Index] = pkg.Name;\r
+                               if (tag == "Version")                   labels[header.Index] = pkg.Version;\r
+                               if (tag == "Summary")                   labels[header.Index] = pkg.Summary;\r
+                               if (tag == "PackageListName")   labels[header.Index] = pkg.PackageListName;\r
+                       }\r
                        \r
                        ListViewItem item = new ListViewItem(labels);\r
                        item.Tag = pkg;\r
@@ -142,6 +147,7 @@ namespace AppliStation
                        string ImageKeySystem = ImageCategory_ToString(ImageCategory.System);\r
                        string keyword = filteringKeyword ?? string.Empty;\r
                        \r
+                       this.BeginUpdate();\r
                        this.Items.Clear();\r
                        \r
                        // ソフトリストの中身のパッケージ\r
@@ -177,6 +183,8 @@ namespace AppliStation
                                }\r
                        }\r
                        \r
+                       this.EndUpdate();\r
+                       \r
                        this.Refresh();\r
                }\r
                \r