我有一个DataTable,我用它制作DataView。在Dataview中,我对第一个DataTable中的信息进行过滤和排序。然后我尝试从DataView中创建一个新的DataTable,在那里我对内容进行了排序和过滤。
一切似乎都运行正常,但新的DataTable为空,因此我丢失了原始DataTable中的内容,其余功能不再起作用。此外,我在文件B @ System.Data.DataTable dt480 = dv.ToTable();
中收到无法访问代码警告我会继续努力解决这个问题,但我想看看我是走开了,还是走在正确的轨道上。提前谢谢。
我有两个存储代码的文件。
档案A:
public static DataView ElecDv480V(System.Data.DataTable dt)
{
System.Data.DataView dv = new DataView(dt);
dv.RowFilter = "F1 = '480V'";
dv.Sort = "F2 ASC, F3 ASC";
return dv;
System.Data.DataTable dt480 = dv.ToTable();
}
文件B(称为“命令”):
import qualified Data.ByteString.Lazy as BS
import Data.Word
import Data.Bits
import Data.Binary.Get
getuint8 = do
uint8 <- getWord8
return uint8
readuint8 :: BS.ByteString -> Int -> Int
readuint8 contents startpos = do
return $ runGet getuint8 (drop startpos contents)
main :: IO ()
main = do
let myfile = "DATA.BIN"
contents <- BS.readFile myfile
let stuff = readuint8 contents 1
print stuff
答案 0 :(得分:1)
main :: IO ()
main = print . runGet getWord8 . BS.drop 1 =<< BS.readFile "DATA.BIN"
应该是最后一个语句.retate语句终止执行它出现的方法
return
此外,您正在返回一个数据视图,因此您需要在接收端也有一个您缺少的变量。除了dt480的设置值有什么用途