如题:
    最近客户提出要求,要求将检索结果中所有记录内容中的关键字都高亮显示或不同颜色区分。
    小弟在这里感谢各位的帮忙!!分不多,望谅解!

解决方案 »

  1.   

    procedure TFrm_FitStore.Grd_MainDBTableView1StylesGetContentStyle(
      Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
      AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
    var nCount, nUp, nDown:double;
        function gcv(sField:String; ADefault:double=0):double;    //取列的值
        var col:TCxGridDBColumn;
        begin
            col:=vMain.GetColumnByFieldName(sField);
            if not assigned(col) then result:=ADefault else result:=ARecord.Values[col.Index];
        end;
    begin
        inherited;
        if cbx_showStore.editValue='1' then exit;         //如果显示仓库,则忽略此处理
        //查找各数字
        nCount:=gcv('nCount');
        nUp:=gcv('nUpAlarm', 0);      nDown:=gcv('nDownAlarm', 0);
        if (nUp=0) and (nDown=0) then exit;               //不需要
        //颜色Spring Summer Autumn Winter
        if (nUp<>0) and (nCount>nUp) then                 //超出上限
            AStyle:=hot
        else if (nDown<>0) and (nCount<nDown) then        //低于下限
            AStyle:=Cold;
    end;
      

  2.   

    高亮问题解决了 不过新问题出现了 cxrichedit.setlength 是按照字符个数来的,
    这样的话 如果输入汉字,那么获取的长度会超出一 半长度!!1