就是比如我表中的字段有a,b,c三列
现在我在客户端grid里面用Select a,b,c,0 这样出来的,但是这样的话0这一列就没法编辑了,我想实现能够编辑这列,或者有什么grid可以实现这样的效果呢,谢谢.

解决方案 »

  1.   

    现在就是自己添的,但是数据量大了就很慢,我用datasource一,二秒,但是用数组添要一分钟,所以想换成datasource填充,但是不知道这个怎么做.
      

  2.   

    谢谢大家关注,关键是现在我用的数组,这样代码这边很多,性能也不好,所以我想用数据源的方式来显示,但是这样就没有Checkbox这个可选了,因为这个是我新增的选择列,在客户端就选择不了了,不知道还有什么其他方法没有呢?
      

  3.   

    用下面的函数将纪录集复制成可更新的,然后绑定到Grid
    Function CopyRecordSetUpdatable(ByVal rs As ADODB.Recordset) As ADODB.Recordset
        Dim rsReturn        As ADODB.Recordset
        Dim fld             As ADODB.Field
        Dim lFieldsCount    As Long
        Dim vIndexs()       As Variant
        Dim vValues()       As Variant
        Dim i               As Long
        
        lFieldsCount = rs.Fields.Count
        ReDim vIndexs(lFieldsCount - 1)
        ReDim vValues(lFieldsCount - 1)
        
        Set rsReturn = New ADODB.Recordset
        For i = 0 To lFieldsCount - 1
            Set fld = rs.Fields(i)
            vIndexs(i) = i
            
            rsReturn.Fields.Append fld.Name, fld.Type, fld.DefinedSize, fld.Attributes Or adFldUnknownUpdatable
        Next
        rsReturn.Open
        
        While Not rs.EOF
            For i = 0 To lFieldsCount - 1
                vValues(i) = rs(i).Value
            Next
            rsReturn.AddNew vIndexs, vValues
            
            rs.MoveNext
        Wend
        If Not rsReturn.BOF Then
            rsReturn.UpdateBatch
            rsReturn.MoveFirst
        End If    Set CopyRecordSetUpdatable = rsReturn
    End Function
      

  4.   

    CSDN又出问题了,列表中7条回复,页面上只要6条,添个回复试试。
      

  5.   

    查询的 SQL 中直接包含固定字段(一点要有列名),用 CopyRecordSetUpdatable() 复制一下所有字段就都能修改了。