0

自分の既知の列を検索し、一致する時間が最も近い(目的の検索時間より短い)オブジェクトをDataGridView含む行を返す必要があります。DateTime

私は過去にlinqを使用しDataGridViewて、データを探して検索しました。しかし、そのような場合、私は次のように完全に一致するものを探していました。

public DataGridViewRow FindRow(DataGridView dgv, string columnID, object searchID)
    {
        DataGridViewRow row = dgv.Rows
            .Cast<DataGridViewRow>()
            .Where(r => r.Cells[columnID].Value.Equals(searchID))
            .First();

        return row;
    }

これで、すべてのオブジェクトを含むDateTime列を持つ正確なオブジェクトができました。DataGridViewDateTime

DateAdded       Data1    Data2
12:34:56.012    x        y
12:34:56.345    x        y
12:34:56.678    x        y

上記の場合、DateTime「12:34:56.4」のオブジェクトを検索している場合、「12:34:56.345」を含む2番目の行を返します。

私はまだlinqに精通しています。Anytoneは何か考えがありますか?

4

1 に答える 1

0

時々質問をすることはあなたがそれを自分で答えるのを助ける...

public DataGridViewRow FindRow(DataGridView dgv, DateTime searchID)
    {
        DataGridViewRow row = dgv.Rows
            .Cast<DataGridViewRow>()
            .Where(r => ((DateTime)r.Cells["DateAdded"].Value <= searchID))
            .Last();

        return row;
    }

これでうまくいきました。

于 2012-08-07T13:37:09.660 に答える