【问题标题】:C# Select Random Row from DatagridviewC# 从 Datagridview 中选择随机行
【发布时间】:2017-08-11 14:02:15
【问题描述】:

我有一个 C# 应用程序,我将歌曲标题从数据库加载到 datagridview,现在我已经有了下一个和上一个按钮

显然,下一个按钮选择前一行,而上一个按钮选择前一行

我想创建另一个按钮,该按钮将从 datagridview 中随机选择任何行,并防止选择同一行两次。我在一个线程中找到并稍作改动的这段代码似乎不起作用

private Random rnd = new Random();
private int lastSelectedIndex = -1;
void RandomRecord() { 
    int noRows = dataGridView1.Rows.Count[0];
    int index = rnd.Next(noRows);
    while(index == lastSelectedIndex && noRows > 1) { 
        index = rnd.Next(noRows);
    } 
    lastSelectedIndex = index;
}

【问题讨论】:

  • “似乎不起作用”有点含糊。它有什么作用? lastSelectedIndex 的值最终是什么? dataGridView1.Rows.Count[0] 看起来有点可疑 BTW。不认为 Count 是一个数组吗?
  • 您的代码没有选择 DGV 中的任何行。你得到一个随机数,然后对这个数字不做任何事情。
  • 当我点击它时什么都没有发生。
  • 那是因为 jdweng 所说的。您生成一个值,但不使用它在 datagridview 中实际执行任何操作。它本身就是一个变量。
  • 我明白了所以我生成了一个随机数,然后我如何将它分配给一个行号以供选择?

标签: c# select random datagridview


【解决方案1】:

调用 RandomRecord 方法后,必须设置选中的行。例如,使用这个:

dataGridView.Rows[lastSelectedIndex].Selected = true;

或者,您可以在 RandomRecord 方法中设置 lastSelectedIndex 后使用该行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 2012-03-03
    • 2023-04-03
    • 1970-01-01
    • 2021-07-03
    相关资源
    最近更新 更多