hur.cn - 华软网

 热门搜索

如何获得数据窗口中某列的值

  作者:未知    来源:网络    更新时间:2019/7/30
我现在有个动态的datawindow,grid格式,想从里面提取数据,例如想掏出第三行第2列的数据,由于我现在不知道该列数据类型是什么,不知道该怎么取????
有什么方法能获得该列数据类型么????
谢谢,在线等!!!
------华软网友回答------
dw_1.Describe("#1.ColType")
------华软网友回复------
if dw_1.Describe("#2.ColType") = "char"  then
   dw_1.GetItemString(3,2)
end if

------华软网友回复------
describe('#2.coltype')
可能是以下这些种
Char (n) - n is the number of characters
Date
DateTime
Decimal (n) - n is the number of decimal places
Int 
Long
Number
Real
Time
Timestamp
ULong

------华软网友回复------
满以为能够获得数据类型了,没想到照旧不行
describe('#2.coltype')
在循环中不能用...
for j=1 to ll_column_count
   if idw_data.Describe("#j.ColType") = "char" then
       ls_column_str[j]=idw_data.GetItemString(i,j)
   elseif idw_data.Describe("#j.ColType") = "DateTime"then
       ldate_column[j]=idw_data.getitemdatetime(i,j)
   else
       ld_column_dou[j]=idw_data.GetItemDecimal(i,j)
   end if 
next

青锋老大快出来看看,小弟此次真过不去了。。。。。

------华软网友回复------
dwcontrol.Object.Data {.buffer } {.datasource } [ rownum, colnum ] 

Parameter Description
dwcontrol The name of the DataWindow control or child DataWindow in which you want to get or set data
buffer 
 (optional) The name of the buffer from which you want to get or set data. Values are:?Primary ?(Default) The data in the primary buffer (the data that has not been deleted or filtered out)?Delete ?The data in the delete buffer (data deleted from the DataWindow control)?Filter ?The data in the filter buffer (data that was filtered out)
datasource 
 (optional) The source of the data. Values are:?Current ?(Default) The current values in the DataWindow control?Original ?The values that were initially retrieved from the database
rownum The row number of the desired item
colnum The column number of the desired itemThe row and column numbers must be enclosed in brackets and separated by commas
Return value

The data type of the expression is Any. The expression returns a single item in the DataWindow control. Its data type is the data type of the column.

Examples

These expressions both refer to a single item in row 1, column 2. It accesses current data in the primary buffer:

dw_1.Object.Data[1,2]

dw_1.Object.Data.Primary.Current[1,2]

This statement changes the value of the original data to 0 for the item in row 1, column 2 in the Filter buffer. Column 2 holds numeric data:

dw_1.Object.Data.Filter.Original[1,2] = 0

你的能够这么取
string ls_data

ls_data = string(dw_1.Object.Data[3,2])

不论它是什么类型的数据,转成string 再说


------华软网友回复------
取不出来
------华软网友回复------
取都取不出来,怎么转???
------华软网友回复------
idw_data.Describe("#j.ColType")               ×
idw_data.Describe("#"+string(j)+".ColType")   √
------华软网友回复------
global type getitemany from function_object
end type

forward prototypes
global function any getitemany (datawindow ids_ds, long al_row, string as_column)
end prototypes

global function any getitemany (datawindow ids_ds, long al_row, string as_column);
//==============================================================================
// 函数: getitemany()
//------------------------------------------------------------------------------
// 描写: 获得不知数据类型字段的值
//------------------------------------------------------------------------------
// 参数: 
// value datawindow ids_ds     数据窗口
// value long       al_row    行号
// value string     as_column  列名 
//------------------------------------------------------------------------------
// 前往值:  any
//==============================================================================

Long ll_col
Any la_a

If al_row > ids_ds.RowCount() Then Return ""
ll_col = Long(ids_ds.Describe(as_column+".ID"))
If ll_col > 0 Then
la_a = ids_ds.Object.Data.primary.current[al_row,ll_col]
End If
Return la_a

end function

     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。