C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: datagridview、イベント、スクロールで最下層


(過去ログ 106 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■63564 / inTopicNo.1)  datagridview、イベント、スクロールで最下層
  
□投稿者/ メバル (1回)-(2012/09/07(Fri) 12:18:42)

分類:[C#] 

c# vs2010 express

datagridview の イベントで スクロールして最下層のデータが表示されたときに

発生するイベントがないか調べています!

Googleの画像検索のみたいなものです。


よろしくお願いします!!
引用返信 編集キー/
■63568 / inTopicNo.2)  Re[1]: datagridview、イベント、スクロールで最下層
□投稿者/ 魔界の仮面弁士 (55回)-(2012/09/07(Fri) 12:35:53)
No63564 (メバル さん) に返信
> datagridview の イベントで
DataGridView ですね。

> スクロールして最下層のデータが表示されたときに
> 発生するイベントがないか調べています!
最下層というのが、一番下の行という意味であれば、
描画系イベント(RowPrePaint 等)を使い、対象行位置を
e.RowIndex で判定するというのは如何でしょう。
引用返信 編集キー/
■63569 / inTopicNo.3)  Re[2]: datagridview、イベント、スクロールで最下層
□投稿者/ メバル (2回)-(2012/09/07(Fri) 12:40:38)
早い回答ありがとうございます!

> 最下層というのが、一番下の行という意味であれば、
> 描画系イベント(RowPrePaint 等)を使い、対象行位置を
> e.RowIndex で判定するというのは如何でしょう。
後から試して見ます!

それと、ついでなんですが、
DataGridView で データが表示されるとき 最初の行(fullrowselect)が選択された状態になるのを
解除したいんです。
調べて見るとCurrentCenll = null でできると書いてあるんですが、
できませ〜ん!

よろしくお願い致します!
引用返信 編集キー/
■63570 / inTopicNo.4)  Re[3]: datagridview、イベント、スクロールで最下層
□投稿者/ 魔界の仮面弁士 (56回)-(2012/09/07(Fri) 12:57:02)
No63569 (メバル さん) に返信
> 最初の行(fullrowselect)が選択された状態になるのを
SelectionModeが「FullWorSelect」のときですね。
(C# は大文字小文字を区別する言語です;VB とは違って)


> 解除したいんです。
private void Form1_Shown(object sender, EventArgs e)
{
    dataGridView1.ClearSelection();
}


> 調べて見るとCurrentCenll = null でできると書いてあるんですが、
> できませ〜ん!
それでもできるはずですが、できなかっとということは、
セルがロードされる前に、CurrentCell を指定されているのではないでしょうか。

引用返信 編集キー/
■63571 / inTopicNo.5)  Re[4]: datagridview、イベント、スクロールで最下層
□投稿者/ メバル (3回)-(2012/09/07(Fri) 14:12:17)
魔界の仮面弁士様
ありがとうございます__

dataGridView1.ClearSelection();
は仕様によりできないんです;;

『RowPrePaint』は調べてみましたが、難しそうです。

他にもないでしょうか?
引用返信 編集キー/
■63572 / inTopicNo.6)  Re[5]: datagridview、イベント、スクロールで最下層
□投稿者/ shu (70回)-(2012/09/07(Fri) 14:46:24)
No63571 (メバル さん) に返信

> dataGridView1.ClearSelection();
> は仕様によりできないんです;;

選択状態を使わなくてよければ選択色(SelectionBackColor, SelectionForeColor)を
非選択色と同じにしてしまうという方法もあります。


> 
> 『RowPrePaint』は調べてみましたが、難しそうです。
> 
> 他にもないでしょうか?
難しいというのは試しにe.RowIndexを条件判定したけど
思ったように動かなかったということなのでしょうか?
試していないのであれば、この方法で頑張ったほうがらくだと思います。

以下VB.Netですがサンプルです。
   Private Sub DataGridView1_RowPrePaint(sender As Object, e As System.Windows.Forms.DataGridViewRowPrePaintEventArgs) Handles DataGridView1.RowPrePaint
        If e.RowIndex = DataGridView1.Rows.Count-1 Then
            MessageBox.Show("LastLine")
        End If
    End Sub

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -