소스 검색

Merge pull request #3686 from Remo/use-datacolumn-caption

TableView: Use caption of data column if set to render label
Tig 1 년 전
부모
커밋
9e86b7f334
2개의 변경된 파일24개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      Terminal.Gui/Views/TableView/DataTableSource.cs
  2. 23 0
      UnitTests/Views/TableViewTests.cs

+ 1 - 1
Terminal.Gui/Views/TableView/DataTableSource.cs

@@ -25,5 +25,5 @@ public class DataTableSource : ITableSource
     public int Columns => DataTable.Columns.Count;
 
     /// <inheritdoc/>
-    public string [] ColumnNames => DataTable.Columns.Cast<DataColumn> ().Select (c => c.ColumnName).ToArray ();
+    public string [] ColumnNames => DataTable.Columns.Cast<DataColumn> ().Select (c => c.Caption).ToArray ();
 }

+ 23 - 0
UnitTests/Views/TableViewTests.cs

@@ -3169,6 +3169,29 @@ A B C
         Assert.Equal (8, tableView.GetAllSelectedCells ().Count ());
     }
 
+    [Fact]
+    public void TestDataColumnCaption()
+    {
+        var tableView = new TableView ();
+
+        var dt = new DataTable ();
+        dt.Columns.Add (new DataColumn ()
+        {
+            Caption = "Caption 1",
+            ColumnName = "Column Name 1"
+        });
+        dt.Columns.Add (new DataColumn ()
+        {
+            ColumnName = "Column Name 2"
+        });
+
+        var dts = new DataTableSource (dt);
+        var cn = dts.ColumnNames;
+
+        Assert.Equal ("Caption 1", cn [0]);
+        Assert.Equal ("Column Name 2", cn [1]);
+    }
+
     private TableView GetABCDEFTableView (out DataTable dt)
     {
         var tableView = new TableView ();