行毎にフラグを設定可能にする

  LboxGridRow の追加



DataGridViewRow を継承してプロパティを追加するだけです

  
Public Class LboxGridRow
	Inherits System.Windows.Forms.DataGridViewRow

	Public rowType As Integer

	' ****************************************
	' デフォルトコンストラクタ
	' ****************************************
	Public Sub New()
		MyBase.New()

	End Sub

End Class
  



  LboxGrid.Designer.vb にコード追加



初期値は、LboxGridRow側で指定しても良いですが、LboxGrid の都合なのでこちらでセットします

( RowTemplate にセットされたインスタンスのクローンが作成されるようです )

  
	<System.Diagnostics.DebuggerStepThrough()> _
	Private Sub InitializeComponent()
		components = New System.ComponentModel.Container()
		Me.MultiSelect = False
		Me.SelectionMode = _
		 System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
		Me.AllowUserToAddRows = False
		Me.AllowUserToDeleteRows = False
		Me.AllowUserToOrderColumns = True
		Me.ReadOnly = True
		Me.AutoSizeColumnsMode = _
		 System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells
		Me.RowTemplate = New lightbox.LboxGridRow()
		CType(Me.RowTemplate, lightbox.LboxGridRow).rowType = 0

	End Sub
  



  フラグ処理メソッド

  
' ******************************************************
' 行フラグ設定
' ******************************************************
Public Sub SetRowFlg(ByVal flg As Integer)

	CType(Me.Rows(nCurrentRow), lightbox.LboxGridRow).rowType = flg

End Sub
Public Sub SetRowFlg(ByVal nIndex As Integer, ByVal flg As Integer)

	CType(Me.Rows(nIndex), lightbox.LboxGridRow).rowType = flg

End Sub

' ******************************************************
' 行フラグ取得
' ******************************************************
Public Function GetRowFlg() As Integer

	GetRowFlg = CType(Me.Rows(nCurrentRow), lightbox.LboxGridRow).rowType

End Function
Public Function GetRowFlg(ByVal nIndex As Integer) As Integer

	GetRowFlg = CType(Me.Rows(nIndex), lightbox.LboxGridRow).rowType

End Function

' ******************************************************
' 行フラグが一致する行の取得
' ******************************************************
Public Function FindNextRow(ByVal flg As Integer) As Boolean

	FindNextRow = False

	Do While (Me.FindNextRow())
		If Me.GetRowFlg() = flg Then
			FindNextRow = True
			Exit Do
		End If
	Loop

End Function
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ