• <menu id="w2i4a"></menu>
  • logo FastReport中文文檔

    文檔首頁>>FastReport中文文檔>>引用數(shù)據(jù)源

    引用數(shù)據(jù)源


    在引用數(shù)據(jù)源列時,使用以下格式:

    [DataSource.Column]

    點(diǎn)擊復(fù)制


    例如,源名稱與列名稱之間用句號隔開:

    [Employees.FirstName]

    點(diǎn)擊復(fù)制


    如果使用關(guān)系引用數(shù)據(jù)源,源名稱可以是復(fù)合的。更多詳情,請參閱 "數(shù)據(jù) "部分。例如,可以這樣引用相關(guān)數(shù)據(jù)源列:

    [Products.Categories.CategoryName]

    點(diǎn)擊復(fù)制


    讓我們看看下面這個在表達(dá)式中使用列的示例:

    [Employees.FirstName] + " " + [Employees.LastName]

    點(diǎn)擊復(fù)制


    這里需要注意的是:每一列都有明確的數(shù)據(jù)類型,該類型在 "DataType(數(shù)據(jù)類型)"屬性中設(shè)置(如果事先在 "Data(數(shù)據(jù))"窗口中選擇了數(shù)據(jù)列,則可以在 "Properties(屬性)"窗口中看到)。表達(dá)式中如何使用列取決于列的類型。例如,在上述示例中,名和姓這兩列都是字符串類型,因此可以這樣使用。在下面的示例中,我們將嘗試使用數(shù)值類型的 "Employees.Age "列,這將導(dǎo)致錯誤:

    [Employees.FirstName] + " " + [Employees.Age]

    點(diǎn)擊復(fù)制


    出現(xiàn)錯誤的原因是,字符串和數(shù)字不能混用。為此,您需要將數(shù)字轉(zhuǎn)換為字符串:

    [Employees.FirstName] + " " + [Employees.Age].ToString()

    點(diǎn)擊復(fù)制


    在本例中,我們把 "Employees.Age "列當(dāng)作一個整數(shù)變量來引用。事實(shí)也是如此。我們知道,所有表達(dá)式都是經(jīng)過編譯的。從編譯器的角度來看,所有非標(biāo)準(zhǔn)的東西(如引用數(shù)據(jù)列)都會被轉(zhuǎn)換成另一種類型,而這種類型是編譯器可以理解的。因此,最后一個表達(dá)式將被轉(zhuǎn)換成下面的形式:

    (string)(Report.GetColumnValue("Employees.FirstName")) + " " + 
    (int)(Report.GetColumnValue("Employees.Age")).ToString()

    點(diǎn)擊復(fù)制


    如圖所示,F(xiàn)astReport 按以下方式更改對數(shù)據(jù)列的引用:

    [Employees.FirstName] --> (string)(Report.GetColumnValue("Employees.FirstName"))

    [Employees.Age] --> (int)(Report.GetColumnValue("Employees.Age"))

    也就是說,我們可以在表達(dá)式中將數(shù)據(jù)列當(dāng)作具有確定類型的變量來使用。例如,下面的表達(dá)式將返回雇員姓名的第一個符號:

    [Employees.FirstName].Substring(0, 1)

    點(diǎn)擊復(fù)制



    如需下載fastreport最新試用版,請點(diǎn)產(chǎn)品名跳轉(zhuǎn)產(chǎn)品下載頁>>

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();