- - PR -
DataGrid 新しい行か否かの判定
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-01-27 11:19
お世話になります。
VB.NET、WindowsフォームのDataGridコントロールにおいて、現在カーソルが点滅している行が新しい行(いちばん下の*の行)にあるか否かを知りたいのですが、どのような方法で取得できますでしょうか? よろしくお願い致します。 |
|
投稿日時: 2005-01-27 13:23
こんなかんじでいけると思います。
CurrencyManager cm = (CurrencyManager) this.BindingContext[データソース]; DataRowView rowView = (DataRowView) cm.Current; if(rowView.IsNew()) { 新しい行 } # 追記 # すいませんVB.NETやらないんでC#でかいちゃいました # DataRowViewをCurrncyManagerから取得してDataRowViewのIsNewメソッドで # 判断できます。 [ メッセージ編集済み 編集者: Kazuki 編集日時 2005-01-27 13:25 ] |
|
投稿日時: 2005-01-27 14:03
ご回答ありがとうございました。
早速、以下で試してみましたが、新しい行をクリックした状態でも Not New が返ります。 ご指摘頂ければ幸いです。 Private Sub DataGrid1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles DataGrid1.Paint Static c c = c + 1 Dim cm As CurrencyManager = _ CType(Me.BindingContext(DataSet11, "データテーブル名"), CurrencyManager) Dim rowView As DataRowView = CType(cm.Current, DataRowView) If rowView.IsNew() Then Me.lblPos.Text = c.ToString + " New" Else Me.lblPos.Text = c.ToString + " Not New" End If End Sub |
|
投稿日時: 2005-01-27 15:23
おかげさまで解決しました。
Dim cm As CurrencyManager = _ CType(Me.BindingContext(DataSet11, "データテーブル名"), CurrencyManager) のところを Dim cm As CurrencyManager = _ CType(Me.BindingContext(DataView1), CurrencyManager) に直したところうまく動きました。 ありがとうございました。 |
1