/// <summary> /// 文字列リストから行を追加 /// </summary> /// <param name="stringList"></param> public StringGridRow AddRow(string[] stringArray) { StringGridRow row = new StringGridRow(this, Rows.Count); row.InitFromStringArray(stringArray); Rows.Add(row); foreach (string str in stringArray) { textLength += str.Length; } return(row); }
public StringGridRow AddRow(string[] stringArray) { StringGridRow item = new StringGridRow(this, this.Rows.Count); item.InitFromStringArray(stringArray); this.Rows.Add(item); foreach (string str in stringArray) { this.textLength += str.Length; } return(item); }
//今のコマンドから、エンティティ処理したコマンドを作成 public static AdvCommand CreateEntityCommand(AdvCommand original, AdvEngine engine, AdvScenarioPageData pageData) { StringGridRow row = new StringGridRow(original.RowData.Grid, original.RowData.RowIndex); row.DebugIndex = original.RowData.DebugIndex; string[] strings = original.EntityData.CreateCommandStrings(engine.Param.GetParameter); row.InitFromStringArray(strings); AdvCommand entityCommand = AdvCommandParser.CreateCommand(original.Id, row, engine.DataManager.SettingDataManager); if (entityCommand is AdvCommandText) { AdvCommandText textCommand = entityCommand as AdvCommandText; textCommand.InitOnCreateEntity(original as AdvCommandText); } return(entityCommand); }
//指定の行をマクロ展開 public List <StringGridRow> MacroExpansion(StringGridRow args, string debugMsg) { //マクロ展開後の行リスト List <StringGridRow> list = new List <StringGridRow>(); if (DataList.Count <= 0) { return(list); } //展開先の列数と同じ数のセル(文字列の配列)をもつ int maxStringCount = 0; foreach (var keyValue in args.Grid.ColumnIndexTbl) { maxStringCount = Mathf.Max(keyValue.Value, maxStringCount); } maxStringCount += 1; for (int i = 0; i < DataList.Count; ++i) { string[] strings = new string[maxStringCount]; for (int index = 0; index < strings.Length; ++index) { strings[index] = ""; } StringGridRow data = DataList[i]; //展開先の列数と同じ数のセル(文字列の配列)をもつ foreach (var keyValue in args.Grid.ColumnIndexTbl) { string argKey = keyValue.Key; int argIndex = keyValue.Value; strings[argIndex] = ParaseMacroArg(data.ParseCellOptional <string>(argKey, ""), args); } //展開先のシートの構造に合わせる //展開先シートを親Girdに持ち StringGridRow macroData = new StringGridRow(args.Grid, args.RowIndex); macroData.InitFromStringArray(strings); list.Add(macroData); //デバッグ情報の記録 macroData.DebugInfo = debugMsg + " : " + (data.RowIndex + 1) + " "; } return(list); }
//指定の行をマクロ展開 public List <StringGridRow> MacroExpansion(StringGridRow args, string debugMsg) { //マクロ展開後の行リスト List <StringGridRow> list = new List <StringGridRow>(); if (DataList.Count <= 0) { return(list); } /* * //マクロシート * StringGrid macroSheet = DataList[0].Grid; * string sheetName = args.Grid.Name + ":" + (args.RowIndex+1).ToString() + "-> Macro : " + macroSheet.Name; * StringGrid grid = new StringGrid(sheetName, args.Grid.SheetName, macroSheet.Type); * grid.Macro = new StringGrid.MacroInfo(args); * grid.ColumnIndexTbl = macroSheet.ColumnIndexTbl; */ /* * //マクロ用の情報 * internal class MacroInfo * { * StringGridRow args; * internal MacroInfo(StringGridRow args) * { * this.args = args; * } * * internal string ToDebugString() * { * if (args.Grid.Macro != null) * { * return args.Grid.Macro.ToDebugString(); * } * else * { * string sheetName = args.Grid.SheetName; * return sheetName + ":" + (args.RowIndex + 1) + " "; * } * } * * }; * internal MacroInfo Macro { get; set; } */ for (int i = 0; i < DataList.Count; ++i) { StringGridRow data = DataList[i]; //展開先の列数と同じ数のセル(文字列の配列)をもつ string[] strings = new string[args.Grid.ColumnIndexTbl.Count]; foreach (var keyValue in args.Grid.ColumnIndexTbl) { string argKey = keyValue.Key; int argIndex = keyValue.Value; strings[argIndex] = ParaseMacroArg(data.ParseCellOptional <string>(argKey, ""), args); } //展開先のシートの構造に合わせる //展開先シートを親Girdに持ち StringGridRow macroData = new StringGridRow(args.Grid, args.RowIndex); macroData.InitFromStringArray(strings); list.Add(macroData); //デバッグ情報の記録 macroData.DebugInfo = debugMsg + " : " + (data.RowIndex + 1) + " "; } return(list); }