作成日: 2017/04/21 最終更新日: 2017/04/21
文書種別
使用方法
詳細
サーバー側ではGetIntersectedFilteredInRowsメソッドを使用して、
フィルタ後のリストに対して、フィルタ前のインデックスを取得することができます。
◎サンプルコード(VB)
◎サンプルコード(C#)
クライアント側では、GetSheetRowIndexメソッドを使用することにより、
フィルタ後のリストに対して、フィルタ前のインデックスを取得することができます。
【JavaScript サンプルコード】
フィルタ後のリストに対して、フィルタ前のインデックスを取得することができます。
◎サンプルコード(VB)
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Page.IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.ColumnCount = 4
FpSpread1.ActiveSheetView.RowCount = 4
' テストデータを設定します
FpSpread1.ActiveSheetView.Cells(0, 0).Text = "Jack"
FpSpread1.ActiveSheetView.Cells(0, 1).Text = "Male"
FpSpread1.ActiveSheetView.Cells(0, 2).Text = "2700 USD"
FpSpread1.ActiveSheetView.Cells(0, 3).Text = "Teacher"
FpSpread1.ActiveSheetView.Cells(1, 0).Text = "Tommy"
FpSpread1.ActiveSheetView.Cells(1, 1).Text = "Male"
FpSpread1.ActiveSheetView.Cells(1, 2).Text = "3000 USD"
FpSpread1.ActiveSheetView.Cells(1, 3).Text = "Developer"
FpSpread1.ActiveSheetView.Cells(2, 0).Text = "Cassie"
FpSpread1.ActiveSheetView.Cells(2, 1).Text = "FeMale"
FpSpread1.ActiveSheetView.Cells(2, 2).Text = "3200 USD"
FpSpread1.ActiveSheetView.Cells(2, 3).Text = "Teacher"
FpSpread1.ActiveSheetView.Cells(3, 0).Text = "Mary"
FpSpread1.ActiveSheetView.Cells(3, 1).Text = "FeMale"
FpSpread1.ActiveSheetView.Cells(3, 2).Text = "3000 USD"
FpSpread1.ActiveSheetView.Cells(3, 3).Text = "Accountant"
Dim filter As FarPoint.Web.Spread.HideRowFilter = New FarPoint.Web.Spread.HideRowFilter(FpSpread1.Sheets(0))
FpSpread1.Sheets(0).RowFilter = filter
FpSpread1.Sheets(0).ColumnHeader.AutoFilterIndex = 0
Dim fcd As FarPoint.Web.Spread.FilterColumnDefinition = New FarPoint.Web.Spread.FilterColumnDefinition(2, FarPoint.Web.Spread.FilterListBehavior.Default)
filter.AddColumn(fcd)
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
' クライアント側の変更を確定します
FpSpread1.SaveChanges()
If FpSpread1.ActiveSheetView.RowFilter.IsFiltered(2) = True Then
' フィルタリング後の全レコードに対して、フィルタリング前のインデックスを配列で取得します
Dim rs As Integer() = FpSpread1.ActiveSheetView.RowFilter.GetIntersectedFilteredInRows
' フィルタ後先頭レコードの全体(フィルタ前)インデックスを取得
Response.Write(rs(0))
Else
Response.Write("フィルタリングされていません")
End If
End Sub
If Page.IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.ColumnCount = 4
FpSpread1.ActiveSheetView.RowCount = 4
' テストデータを設定します
FpSpread1.ActiveSheetView.Cells(0, 0).Text = "Jack"
FpSpread1.ActiveSheetView.Cells(0, 1).Text = "Male"
FpSpread1.ActiveSheetView.Cells(0, 2).Text = "2700 USD"
FpSpread1.ActiveSheetView.Cells(0, 3).Text = "Teacher"
FpSpread1.ActiveSheetView.Cells(1, 0).Text = "Tommy"
FpSpread1.ActiveSheetView.Cells(1, 1).Text = "Male"
FpSpread1.ActiveSheetView.Cells(1, 2).Text = "3000 USD"
FpSpread1.ActiveSheetView.Cells(1, 3).Text = "Developer"
FpSpread1.ActiveSheetView.Cells(2, 0).Text = "Cassie"
FpSpread1.ActiveSheetView.Cells(2, 1).Text = "FeMale"
FpSpread1.ActiveSheetView.Cells(2, 2).Text = "3200 USD"
FpSpread1.ActiveSheetView.Cells(2, 3).Text = "Teacher"
FpSpread1.ActiveSheetView.Cells(3, 0).Text = "Mary"
FpSpread1.ActiveSheetView.Cells(3, 1).Text = "FeMale"
FpSpread1.ActiveSheetView.Cells(3, 2).Text = "3000 USD"
FpSpread1.ActiveSheetView.Cells(3, 3).Text = "Accountant"
Dim filter As FarPoint.Web.Spread.HideRowFilter = New FarPoint.Web.Spread.HideRowFilter(FpSpread1.Sheets(0))
FpSpread1.Sheets(0).RowFilter = filter
FpSpread1.Sheets(0).ColumnHeader.AutoFilterIndex = 0
Dim fcd As FarPoint.Web.Spread.FilterColumnDefinition = New FarPoint.Web.Spread.FilterColumnDefinition(2, FarPoint.Web.Spread.FilterListBehavior.Default)
filter.AddColumn(fcd)
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
' クライアント側の変更を確定します
FpSpread1.SaveChanges()
If FpSpread1.ActiveSheetView.RowFilter.IsFiltered(2) = True Then
' フィルタリング後の全レコードに対して、フィルタリング前のインデックスを配列で取得します
Dim rs As Integer() = FpSpread1.ActiveSheetView.RowFilter.GetIntersectedFilteredInRows
' フィルタ後先頭レコードの全体(フィルタ前)インデックスを取得
Response.Write(rs(0))
Else
Response.Write("フィルタリングされていません")
End If
End Sub
◎サンプルコード(C#)
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack) {
return;
}
FpSpread1.ActiveSheetView.ColumnCount = 4;
FpSpread1.ActiveSheetView.RowCount = 4;
// テストデータを設定します
FpSpread1.ActiveSheetView.Cells[0, 0].Text = "Jack";
FpSpread1.ActiveSheetView.Cells[0, 1].Text = "Male";
FpSpread1.ActiveSheetView.Cells[0, 2].Text = "2700 USD";
FpSpread1.ActiveSheetView.Cells[0, 3].Text = "Teacher";
FpSpread1.ActiveSheetView.Cells[1, 0].Text = "Tommy";
FpSpread1.ActiveSheetView.Cells[1, 1].Text = "Male";
FpSpread1.ActiveSheetView.Cells[1, 2].Text = "3000 USD";
FpSpread1.ActiveSheetView.Cells[1, 3].Text = "Developer";
FpSpread1.ActiveSheetView.Cells[2, 0].Text = "Cassie";
FpSpread1.ActiveSheetView.Cells[2, 1].Text = "FeMale";
FpSpread1.ActiveSheetView.Cells[2, 2].Text = "3200 USD";
FpSpread1.ActiveSheetView.Cells[2, 3].Text = "Teacher";
FpSpread1.ActiveSheetView.Cells[3, 0].Text = "Mary";
FpSpread1.ActiveSheetView.Cells[3, 1].Text = "FeMale";
FpSpread1.ActiveSheetView.Cells[3, 2].Text = "3000 USD";
FpSpread1.ActiveSheetView.Cells[3, 3].Text = "Accountant";
FarPoint.Web.Spread.HideRowFilter filter = new FarPoint.Web.Spread.HideRowFilter(FpSpread1.Sheets[0]);
FpSpread1.Sheets[0].RowFilter = filter;
FpSpread1.Sheets[0].ColumnHeader.AutoFilterIndex = 0;
FarPoint.Web.Spread.FilterColumnDefinition fcd = new FarPoint.Web.Spread.FilterColumnDefinition(2, FarPoint.Web.Spread.FilterListBehavior.Default);
filter.AddColumn(fcd);
}
protected void Button1_Click(object sender, EventArgs e)
{
// クライアント側の変更を確定します
FpSpread1.SaveChanges();
if (FpSpread1.ActiveSheetView.RowFilter.IsFiltered(2)) {
// フィルタリング後の全レコードに対して、フィルタリング前のインデックスを配列で取得します
int[] rs = FpSpread1.ActiveSheetView.RowFilter.GetIntersectedFilteredInRows();
// フィルタ後先頭レコードの全体(フィルタ前)インデックスを取得
Response.Write(rs[0]);
}else{
Response.Write("フィルタリングされていません");
}
}
{
if (Page.IsPostBack) {
return;
}
FpSpread1.ActiveSheetView.ColumnCount = 4;
FpSpread1.ActiveSheetView.RowCount = 4;
// テストデータを設定します
FpSpread1.ActiveSheetView.Cells[0, 0].Text = "Jack";
FpSpread1.ActiveSheetView.Cells[0, 1].Text = "Male";
FpSpread1.ActiveSheetView.Cells[0, 2].Text = "2700 USD";
FpSpread1.ActiveSheetView.Cells[0, 3].Text = "Teacher";
FpSpread1.ActiveSheetView.Cells[1, 0].Text = "Tommy";
FpSpread1.ActiveSheetView.Cells[1, 1].Text = "Male";
FpSpread1.ActiveSheetView.Cells[1, 2].Text = "3000 USD";
FpSpread1.ActiveSheetView.Cells[1, 3].Text = "Developer";
FpSpread1.ActiveSheetView.Cells[2, 0].Text = "Cassie";
FpSpread1.ActiveSheetView.Cells[2, 1].Text = "FeMale";
FpSpread1.ActiveSheetView.Cells[2, 2].Text = "3200 USD";
FpSpread1.ActiveSheetView.Cells[2, 3].Text = "Teacher";
FpSpread1.ActiveSheetView.Cells[3, 0].Text = "Mary";
FpSpread1.ActiveSheetView.Cells[3, 1].Text = "FeMale";
FpSpread1.ActiveSheetView.Cells[3, 2].Text = "3000 USD";
FpSpread1.ActiveSheetView.Cells[3, 3].Text = "Accountant";
FarPoint.Web.Spread.HideRowFilter filter = new FarPoint.Web.Spread.HideRowFilter(FpSpread1.Sheets[0]);
FpSpread1.Sheets[0].RowFilter = filter;
FpSpread1.Sheets[0].ColumnHeader.AutoFilterIndex = 0;
FarPoint.Web.Spread.FilterColumnDefinition fcd = new FarPoint.Web.Spread.FilterColumnDefinition(2, FarPoint.Web.Spread.FilterListBehavior.Default);
filter.AddColumn(fcd);
}
protected void Button1_Click(object sender, EventArgs e)
{
// クライアント側の変更を確定します
FpSpread1.SaveChanges();
if (FpSpread1.ActiveSheetView.RowFilter.IsFiltered(2)) {
// フィルタリング後の全レコードに対して、フィルタリング前のインデックスを配列で取得します
int[] rs = FpSpread1.ActiveSheetView.RowFilter.GetIntersectedFilteredInRows();
// フィルタ後先頭レコードの全体(フィルタ前)インデックスを取得
Response.Write(rs[0]);
}else{
Response.Write("フィルタリングされていません");
}
}
クライアント側では、GetSheetRowIndexメソッドを使用することにより、
フィルタ後のリストに対して、フィルタ前のインデックスを取得することができます。
【JavaScript サンプルコード】
<script type="text/javascript">
function getCol() {
var ss=document.getElementById("FpSpread1");
var srindx = ss.GetSheetRowIndex(0);
alert("Row index on server is" + srindx);
}
</script>
function getCol() {
var ss=document.getElementById("FpSpread1");
var srindx = ss.GetSheetRowIndex(0);
alert("Row index on server is" + srindx);
}
</script>
旧文書番号
40314