主页
/
user-215081
Игорь Ага's questions
你好!告诉我如何组织一定数量的数组元素的滚动。在开放空间中找到此代码。它有效,但没有我想要的那么好。
private static Func<int, bool> gt(int val)
{
return (i => i > val);
}
private static Func<int, bool> lt(int val)
{
return (i => i < val);
}
int q; // начало поиска
int w = 6; // конец поиска
List<int> items = new List<int>();
private void button4_Click(object sender, RoutedEventArgs e)
{
q = 0;
w = 6;
listBox.Items.Clear();
items.Clear();
items.Add(1); // Имеется некоторое колл-во элементов
items.Add(2);
items.Add(3);
items.Add(4);
items.Add(5);
items.Add(6);
items.Add(7);
items.Add(8);
items.Add(9);
items.Add(10);
items.Add(11);
items.Add(12);
items.Add(13);
List<int> result = new List<int>(items.Where(gt(q)).Where(lt(w)));
foreach (int i in result)
{
listBox.Items.Add(i.ToString());
q++;
}
}
// ЛИСТАЕМ ВПЕРЕД
private void button5_Click(object sender, RoutedEventArgs e)
{
listBox.Items.Clear();
List<int> result = new List<int>(items.Where(gt(q)).Where(lt(w+=5)));
foreach (int i in result)
{
listBox.Items.Add(i.ToString());
q++;
}
}
// ЛИСТАЕМ НАЗАД
private void button6_Click(object sender, RoutedEventArgs e)
{
listBox.Items.Clear();
List<int> result = new List<int>(items.Where(lt(w)).Where(gt(q-=5)));
foreach (int i in result)
{
listBox.Items.Add(i.ToString());
w--;
}
}
这个方法可行,但是有一个小问题。前进后,变量会根据轨迹进行调整。滚动,如果此时返回上一页,则先更新变量,但数据不会改变。要后退一步,请双击该按钮。这当然很烦人。
告诉我如何组织搜索。您需要显示下一个或前 10 行。例如:该行的最后一个结果以 id 12 结尾,下一行的 id 为 27、28、29 .. 也就是说,您需要以某种方式记住最后一个结果,知道搜索的方向是向前还是向后. 如果您能提供帮助,我将不胜感激。


