在改变datagrid控件列宽后,下一次起动软件还能加开载上一次的设定请高手指点,谢谢

解决方案 »

  1.   

    TO:mustudent
    这种的话是不是太麻烦了,我用到多个这样的控件都要这样呀
      

  2.   

    TO:mustudent
    这是我找的别人的程序,在他的程序可以实现这个功能,可是改了一点(我用的是ADODC控件类),却不能实现,请问怎么办Private Sub DataGrid1_ColResize(ByVal ColIndex As Integer, Cancel As Integer)
       Dim DataSource As String
        
       DataSource = GetDataSource(Adodc1)
       If DataSource <> "" Then
          SaveSetting "GridColWidth", DataSource, _
                DataGrid1.Columns(ColIndex).DataField, _
                DataGrid1.Columns(ColIndex).Width
       End If
    End Sub
    Function GetDataSource(d As Adodc) As String
        Dim pos1 As Integer, pos2 As Integer, S As String
        
        S = d.ConnectionString
        pos1 = InStr(1, S, "Data Source=", vbTextCompare)
        pos2 = InStr(pos1, S, ";")
        If pos1 > 0 And pos2 = 0 Then pos2 = Len(S) + 1
        If pos1 > 0 Then
            GetDataSource = Mid(S, pos1, pos2 - pos1)
        End If
    End FunctionSub SetDataGridColWidth(d As Adodc, g As DataGrid)
       Dim w As Single, i As Integer
       Dim DataSource As String
       
       DataSource = GetDataSource(Adodc1)
       If DataSource <> "" Then
          For i = 0 To g.Columns.Count - 1
             w = GetSetting("GridColWidth", DataSource, _
                             g.Columns(i).DataField, 0)
             If w > 0 Then g.Columns(i).Width = w
          Next
       End If
    End Sub
      

  3.   

    你要給我看SaveSetting 函數啊
      

  4.   

    我找边了他的程序也没有发现SaveSetting函数,是不是一个API呀
      

  5.   

    当我把DataSource = GetDataSource(Adodc1)改为DataSource = GetDataSource(objcn),我用的是ADODB类,objcn 为ADODB.Connection
    这个时候DataSource = GetDataSource(objcn),就会报错,类型不相符,请问,应该怎样改才对,谢谢
      

  6.   

    补充:上面的程序数据库是用ACCESS,我用的是SQL请各位大侠帮忙呀,急呀谢谢