public class WebPage1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) return;
FpSpread1.ActiveSheetView.RowCount = 6;
FpSpread1.ActiveSheetView.SetValue(0, 1, "Y-221");
FpSpread1.ActiveSheetView.SetValue(1, 1, "B-158");
FpSpread1.ActiveSheetView.SetValue(2, 1, "A-001");
FpSpread1.ActiveSheetView.SetValue(3, 1, "H-310");
FpSpread1.ActiveSheetView.SetValue(4, 1, "O-455");
FpSpread1.ActiveSheetView.SetValue(5, 1, "H-122");
}
protected void Button1_Click(object sender, EventArgs e)
{
// 独自ソートを実行します。
FpSpread1.ActiveSheetView.SortRows(1, true, false, new MyStringComparer());
}
}
public class MyStringComparer : System.Collections.IComparer
{
public int Compare(object x, object y)
{
// ハイフン以降の文字を抜き出します。
string val1 = Convert.ToString(x).Substring(Convert.ToString(x).IndexOf("-") + 1);
string val2 = Convert.ToString(y).Substring(Convert.ToString(y).IndexOf("-") + 1);
int compareResult;
compareResult = string.Compare(val1, val2, false);
return compareResult;
}
}
Public Class WebPage1
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.RowCount = 6
FpSpread1.ActiveSheetView.SetValue(0, 1, "Y-221")
FpSpread1.ActiveSheetView.SetValue(1, 1, "B-158")
FpSpread1.ActiveSheetView.SetValue(2, 1, "A-001")
FpSpread1.ActiveSheetView.SetValue(3, 1, "H-310")
FpSpread1.ActiveSheetView.SetValue(4, 1, "O-455")
FpSpread1.ActiveSheetView.SetValue(5, 1, "H-122")
End Sub
Protected Sub Button1_Click(sender As Object, e As EventArgs)
' 独自ソートを実行します。
FpSpread1.ActiveSheetView.SortRows(1, True, False, New MyStringComparer())
End Sub
End Class
Public Class MyStringComparer
Implements System.Collections.IComparer
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements Collections.IComparer.Compare
' ハイフン以降の文字を抜き出します。
Dim val1 As String = Convert.ToString(x).Substring(Convert.ToString(x).IndexOf("-") + 1)
Dim val2 As String = Convert.ToString(y).Substring(Convert.ToString(y).IndexOf("-") + 1)
Dim compareResult As Integer
compareResult = String.Compare(val1, val2, False)
Return compareResult
End Function
End Class