如果为空,则使用备用DataSource列

时间:2013-01-10 15:36:48

标签: javascript datatable yui

我正在使用YUI2数据库。我的列指定如下:

var columns = [

{ key: "check"
            , label: '<input type="checkbox" name="checkAll" id="checkAll"/>'
            , formatter: "checkbox"
            }
, { key:"subject"
            , sortable:false
            , resizeable:false
            , formatter: YAHOO.widget.DataTable.formatSubject
            , width: "16px"
            } .....more 

数据源:

var mySource = new DataSource('.do?');
    mySource.responseType   = DataSource.TYPE_JSON;
    mySource.responseSchema = {
        resultsList : 'records',
        fields      : [
            'pos'
            ,'subject'
            ,'subject2' ....

在我的数据源中,我为每一行返回'subject'以及另一列,我们称之为'subject2'。我希望'subject'列在数据源中使用'subject2',当该指定行的'subject'列为空时。这可能没有过分苛刻的黑客攻击吗?

1 个答案:

答案 0 :(得分:0)

我认为最简单的方法就是使用格式化程序:

YAHOO.widget.DataTable.formatFrom = function ( elCell, oRecord, oColumn, oData ) {
    var val = oData;
    if(val === "") {
        val = oRecord.getData().subject2;
    }....