Spread for .NET
스프레드 내용에서 문자 검색
by 하_늘_바_람
2022. 7. 25.
private int SearchedRowIndex = 0
private void txtSearchSkuFullNM_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyCode == Keys.Enter) {
int refRowIndex = -1, refColumnIndex = -1;
SearchFoundFlags result;
while (true) {
result = sprFSOR02.Search(0, txtSearchSkuFullNM.Text, false, false, false, false, true, false, false,
true, SearchedRowIndex,
IDX_H_SKUFULLNM, shtFSOR02.RowCount - 1, IDX_H_SKUFULLNM,
ref refRowIndex, ref refColumnIndex);
if (result == SearchFoundFlags.Error) {
if (SearchedRowIndex == 0) {
MessageBox.Show("찾고자 하는 상품이 없습니다.", "알림",
MessageBoxButtons.OK, MessageBoxIcon.Information);
txtSearchSkuFullNM.SelectAll();
break;
}
else {
SearchedRowIndex = 0;
}
}
if (result != SearchFoundFlags.Error && refRowIndex >= 0 && refColumnIndex >= 0) {
var filteredRowIndexes = shtFSOR02.RowFilter.GetIntersectedFilteredInRows();
if (filteredRowIndexes != null && !filteredRowIndexes.Contains(refRowIndex)) {
SearchedRowIndex = refRowIndex + 1;
continue;
}
shtFSOR02.SetActiveCell(refRowIndex, refColumnIndex);
sprFSOR02.ShowActiveCell(VerticalPosition.Nearest, HorizontalPosition.Nearest);
SearchedRowIndex = refRowIndex + 1;
txtSearchSkuFullNM.SelectAll();
break;
}
}
}
else if (e.KeyCode == Keys.Escape) {
txtSearchSkuFullNM.Text = "";
SearchedRowIndex = 0;
}
}