SPREAD for ASP.NET 10.0J サンプルコード集 > ソート > コードでソートする(複数キーの指定) |
各キーに対応するSortInfoオブジェクトの配列を作成し、行をソートする場合はSortRowsメソッド、列をソートする場合はSortColumnsメソッドの引数に指定します。
第1キー:1列目(昇順)、第2キー:2列目(昇順)で行をソートしました。
空白(未入力)セルは、昇順/降順ともに最後に表示されます。 |
SetTestData(FpSpread1.Sheets[0]); SortInfo[] sinfos = { new SortInfo(0, true),//1列目を昇順 new SortInfo(1, true) //2列目を昇順 }; FpSpread1.Sheets[0].SortRows(0, FpSpread1.Sheets[0].RowCount, sinfos);
SetTestData(FpSpread1.Sheets(0)) Dim sinfos As SortInfo() = { New SortInfo(0, True), '1列目を昇順 New SortInfo(1, True) '2列目を昇順 } FpSpread1.Sheets(0).SortRows(0, FpSpread1.Sheets(0).RowCount, sinfos)
この例では、テストデータの生成に以下のメソッドを使用しています。
public void SetTestData(SheetView sheet) { sheet.RowCount = 10; string tab = "\t", ent="\r\n"; string data = "2015/12/1" + tab + "ZZZ" + tab + "1000" + ent + "2016/3/31" + tab + "YYY" + tab + "2000" + ent + "2016/3/31" + tab + "XXX" + tab + "3000" + ent; sheet.SetClip(0, 0, 3, 3, data); DateTimeCellType dateCell = new DateTimeCellType() { FormatString = "yyyy-M-d" }; sheet.Columns[0].CellType = dateCell; }
Public Sub SetTestData(sheet As SheetView) sheet.RowCount = 10 Dim tab As String = vbTab, ent As String = vbNewLine Dim data As String = "2015/12/1" + tab + "ZZZ" + tab + "1000" + ent _ + "2016/3/31" + tab + "YYY" + tab + "2000" + ent _ + "2016/3/31" + tab + "XXX" + tab + "3000" + ent sheet.SetClip(0, 0, 3, 3, data) Dim dateCell As New DateTimeCellType() With {.FormatString = "yyyy-M-d"} sheet.Columns(0).CellType = dateCell End Sub