首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

datagridview取值类型设立

2013-07-08 
datagridview取值类型设置datagridview取值类型怎么设置?如下语句:MainForm.DGV1.CurrentCell.Value DGV

datagridview取值类型设置
datagridview取值类型怎么设置?
如下语句:
MainForm.DGV1.CurrentCell.Value = 
DGV2.Rows(DGV2.CurrentRow.Index).Cells(0).Value.ToString()

DGV2里值为‘0101’,‘01032’等编码,取到DGV1里变成‘101’,‘1032’了。
怎么设置等于原来的字符型值‘0101’,‘01032’?
[解决办法]
你检查下有否在DGV1_CellFormatting等其他事件中格式化了单元格文本。我新建工程测试没问题的。
你可以新建一个工程进行测试

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DGV1.ColumnCount = 4
        DGV2.ColumnCount = 4
        DGV1.Rows.Add(4)
        DGV2.Rows.Add(4)
        For i As Integer = 0 To DGV2.ColumnCount - 1
            For j As Integer = 0 To DGV2.Rows.Count - 1
                DGV2.Rows(j).Cells(i).Value = "0" & CInt(Rnd(1000) * 100)
            Next
        Next
    End Sub

    Private Sub DGV2_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DGV2.CellMouseClick
        DGV1.CurrentCell.Value = DGV2.Rows(DGV2.CurrentRow.Index).Cells(0).Value.ToString()

    End Sub

End Class

我的环境是VS2008
[解决办法]
MainForm.DGV1.CurrentCell.Value = 
DGV2.Rows(DGV2.CurrentRow.Index).Cells(0).Value.ToString()

这是你的原文,DGV1是从DGV2中取的值,不是SQL。
上面这条语句不会去掉前面的“0”。


DGV1如果是从SQL里取的值,那么SQL的字段格式应该是数字类型的,才会导致你的问题出现。
[解决办法]
datagridview单元格默认都是文本型的,若不使用格式化,是不会去掉前面“0” 的。估计一定是某行代码对单元格进行了格式化。

热点排行