@Override
	public void updateRecord()
	{
		String ts = tempstr;
		if( ts == null )
		{
			return;
		}

		if( ByteTools.isUnicode( ts ) )
		{
			grbit = (byte) (grbit | 0x1);
		}
		try
		{
			byte[] strbytes = null;
			if( (grbit & 0x1) == 0x1 )
			{
				strbytes = ts.getBytes( UNICODEENCODING );
			}
			else
			{
				strbytes = ts.getBytes( DEFAULTENCODING );
			}

			short strbytelen = (short) strbytes.length;
			cch = strbytelen;
			if( (grbit & 0x1) == 0x1 )
			{
				cch = (short) (strbytelen / 2);
			}
			//cch = (short)( getString().length() + 3);
			record = new byte[strbytelen + 3];
			//record = new byte[(cch*times) + 3];
			record[0] = 0x17;
			record[1] = (byte) cch;
			record[2] = grbit;
			System.arraycopy( strbytes, 0, record, 3, strbytelen );

		}
		catch( UnsupportedEncodingException e )
		{
			log.warn( "decoding formula string failed: " + e, e );
		}
	}