您好,谢谢您的回复,第一个问题,拖拽分组后,确实是变了样式,原来有5列的话,会显示成一列,展开一列后,才可以看到后几列,而之前版本的vb6效果是,拖拽后,还是会显示这几列,不会分开.
由于我们这边网络限制,只能贴代码了:
新建Form1.vb
Imports C1.Win.C1TrueDBGrid
Public Class Form1
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim i As Integer
Dim col As C1.Win.C1TrueDBGrid.C1DataColumn
Dim dis As C1.Win.C1TrueDBGrid.C1DisplayColumn
Dim xa As New DataTable
Dim dc As DataColumn
With C1TrueDBGrid2
.Splits(0).ColumnCaptionHeight = 1 * 17
.AllowColSelect = False
.AllowColMove = True
.AllowRowSelect = True
.Splits(0).RecordSelectors = True
.Splits(0).Style.HorizontalAlignment = C1.Win.C1TrueDBGrid.AlignHorzEnum.Center
.Splits(0).Style.VerticalAlignment = C1.Win.C1TrueDBGrid.AlignVertEnum.Center
.AllowArrows = False
.WrapCellPointer = True
.ExtendRightColumn = True
.MarqueeStyle = MarqueeEnum.FloatingEditor
End With
For i = 0 To 4
col = C1TrueDBGrid2.Columns(i)
dis = C1TrueDBGrid2.Splits(0).DisplayColumns(i)
dc = New DataColumn
dis.AllowFocus = True
dis.Locked = False
dis.Visible = True
col.DataField = "column_" & i
dc.ColumnName = col.DataField
xa.Columns.Add(dc)
Next
xa.Rows.Add(xa.NewRow)
xa.Rows.Add(xa.NewRow)
xa.Rows.Add(xa.NewRow)
xa.Rows.Add(xa.NewRow)
C1TrueDBGrid2.SetDataBinding(xa, "", True)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Call Button2_Click(Nothing, Nothing)
End Sub
End Class
------------------
FromDesigner.vb
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class Form1
Inherits System.Windows.Forms.Form
'フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Windows フォーム デザイナーで必要です。
Private components As System.ComponentModel.IContainer
'メモ: 以下のプロシージャは Windows フォーム デザイナーで必要です。
'Windows フォーム デザイナーを使用して変更できます。
'コード エディターを使って変更しないでください。
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1))
Me.Button2 = New System.Windows.Forms.Button()
Me.C1TrueDBGrid2 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid()
CType(Me.C1TrueDBGrid2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(162, 38)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(75, 23)
Me.Button2.TabIndex = 18
Me.Button2.Text = "Button2"
Me.Button2.UseVisualStyleBackColor = True
'
'C1TrueDBGrid2
'
Me.C1TrueDBGrid2.AllowColMove = False
Me.C1TrueDBGrid2.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy
Me.C1TrueDBGrid2.FlatStyle = C1.Win.C1TrueDBGrid.FlatModeEnum.Standard
Me.C1TrueDBGrid2.GroupByCaption = "列でグループ化するには、ここに列ヘッダをドラッグします。"
Me.C1TrueDBGrid2.Images.Add(CType(resources.GetObject("C1TrueDBGrid2.Images"), System.Drawing.Image))
Me.C1TrueDBGrid2.LinesPerRow = 1
Me.C1TrueDBGrid2.Location = New System.Drawing.Point(162, 67)
Me.C1TrueDBGrid2.MarqueeStyle = C1.Win.C1TrueDBGrid.MarqueeEnum.FloatingEditor
Me.C1TrueDBGrid2.Name = "C1TrueDBGrid2"
Me.C1TrueDBGrid2.PreviewInfo.Caption = "印刷プレビューウィンドウ"
Me.C1TrueDBGrid2.PreviewInfo.Location = New System.Drawing.Point(0, 0)
Me.C1TrueDBGrid2.PreviewInfo.Size = New System.Drawing.Size(0, 0)
Me.C1TrueDBGrid2.PreviewInfo.ZoomFactor = 75.0R
Me.C1TrueDBGrid2.PrintInfo.MeasurementDevice = C1.Win.C1TrueDBGrid.PrintInfo.MeasurementDeviceEnum.Screen
Me.C1TrueDBGrid2.PrintInfo.MeasurementPrinterName = Nothing
Me.C1TrueDBGrid2.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid2.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings)
Me.C1TrueDBGrid2.PropBag = resources.GetString("C1TrueDBGrid2.PropBag")
Me.C1TrueDBGrid2.RecordSelectors = False
Me.C1TrueDBGrid2.Size = New System.Drawing.Size(703, 346)
Me.C1TrueDBGrid2.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.GridNavigation
Me.C1TrueDBGrid2.TabIndex = 19
Me.C1TrueDBGrid2.UseCompatibleTextRendering = False
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1226, 557)
Me.Controls.Add(Me.C1TrueDBGrid2)
Me.Controls.Add(Me.Button2)
Me.Name = "Form1"
Me.Text = "Form1"
CType(Me.C1TrueDBGrid2, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents Button2 As Button
Friend WithEvents C1TrueDBGrid2 As C1.Win.C1TrueDBGrid.C1TrueDBGrid
End Class |