• C1TrueDBGrid:在 C1TrueDBGrid 之间传递行


    本博客的目标读者为关于 .NET domain 的新手。这个 Case 在论坛中也经常提及:如何在两个 C1TrueDBGrid 间传递数据。

    在本示例中,我们使用 MainForm 中的 C1TrueDBGrid1 来接收数据。使用另一个 Form 中的 C1TrueDBGrid2  传递数据。通过双击 C1TrueDBGrid2 中的行,把该行传递到 C1TrueDBGrid1.

    下面让我们来看看实现方法:

    C1TrueDBGrid1 为非绑定状态。给非绑定状态 C1TrueDBGrid 添加数据,我们需要定制列。可以通过设计器或者代码定制列。参考文档:documentation

    调用子窗体的代码如下:

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
        Dim chFrm As New DataForm(C1TrueDBGrid1) 
        chFrm.ShowDialog() 
    End Sub
    

      

    通过以上代码,你会发现我们传递了 C1TrueDBGrid1 到子窗体。传递数据代码如下:

    Public Class DataForm 
        Dim c1Tdbgrid As C1.Win.C1TrueDBGrid.C1TrueDBGrid 
        Public Sub New(ByVal c1TDB As C1.Win.C1TrueDBGrid.C1TrueDBGrid) 
            InitializeComponent() 
            c1Tdbgrid = c1TDB 
            C1TrueDBGrid1.DataSource = <set the Datasource> 
        End Sub 
        Private Sub C1TrueDBGrid1_MouseDoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles C1TrueDBGrid1.MouseDoubleClick 
           Dim dr As System.Data.DataRowView = CType(Me.C1TrueDBGrid1(Me.C1TrueDBGrid1.Row), System.Data.DataRowView) 
           Dim rowValues As New StringBuilder 
           For i As Integer = 0 To dr.Row.ItemArray().ToList().Count - 1 
                rowValues.Append(dr.Row.Item(i).ToString()) 
                If (i < dr.Row.ItemArray.ToList().Count - 1) Then 
                    rowValues.Append(";") 
                End If 
           Next 
          c1Tdbgrid.AddRow(rowValues.ToString()) 
        End Sub 
    End Class
    

      

    这种方法同样适用于 C1FlexGrid。

    效果图:

    32131

    下载 Demo:

    Download Sample C#
    Download Sample VB

  • 相关阅读:
    PL/SQL详细介绍
    Linux服务器性能评估(转)
    oracle命令(转)
    Makefile介绍(转)
    delphi 指针
    浏览器的工作原理(转)
    高性能分布式计算与存储系统设计概要(上)(转)
    HTTP协议详解(转)
    MySQL性能优化(转)
    redhat 6.2安装telnet服务
  • 原文地址:https://www.cnblogs.com/C1SupportTeam/p/2968795.html
Copyright © 2020-2023  润新知