Beispiel #1
0
 private static string FillWithDefaultValue(object value, ColumnInfo aColumninfo)
 {
     if (aColumninfo == null ||
         string.IsNullOrEmpty(aColumninfo.DefaultValue) ||
         !aColumninfo.MaxLength.HasValue)
     {
         //格納先のテーブルカラムの最大文字数が分からない、
         //又はDEFAULT値が設定されていない場合、文字を充填しない
         return(value.ToString());
     }
     else
     {
         //テーブルカラムの(Shift_JISにおける)最大Byte数
         int columnMaxByte = aColumninfo.MaxLength.Value;
         //DEFAULT値の先頭一文字目を充填文字とする
         char fillChar = aColumninfo.DefaultValue.ToCharArray(0, 1)[0];
         if (char.IsDigit(fillChar))
         {
             //充填文字が数字文字の場合、columnValueの先頭に充填文字を充填する
             return(value.ToString().PadLeft(columnMaxByte, fillChar));
         }
         else
         {
             //columnValueの末尾に充填文字を充填する
             return(JkCastEditor.BytePadRight(value.ToString(), columnMaxByte, fillChar));
         }
     }
 }
Beispiel #2
0
 //文字列をDBのCHAR型項目から取得する時は、空白を削除する
 public override object BeforeCast_ViewColumnType(StringViewColumnType viewColumnType
                                                  , ViewColumnInfo aViewColumnInfo
                                                  , object viewColumnValue)
 {
     //テーブルカラムのデフォルト値からは空白を削除しない
     if (aViewColumnInfo.ViewName == "ColumnInfo" &&
         aViewColumnInfo.ViewColumnName == "DefaultValue")
     {
         return(viewColumnValue.ToString());
     }
     return(JkCastEditor.TrimWithDefaultValue(viewColumnValue.ToString(), null));
 }