public static void SetRow(Gwen.Control.Table table, Gwen.Control.TableRow row, object item) { string[] displayMembers = table.DisplayMembers; if (displayMembers == null || displayMembers.Length == 0) { string text = item.ToString(); row.Text = text; row.Name = text; row.UserData = item; } else { if (!(item is KeyValuePair <object, object>)) { throw new ScriptRuntimeException("Expecting table item"); } var keyValuePair = (KeyValuePair <object, object>)item; MoonSharp.Interpreter.Table luaTable = keyValuePair.Value as MoonSharp.Interpreter.Table; if (luaTable == null) { throw new ScriptRuntimeException("Expecting table"); } string col = luaTable[displayMembers[0]].ToString(); row.Name = col; row.UserData = item; row.SetCellText(0, col); for (int i = 1; i < displayMembers.Length; i++) { row.SetCellText(i, luaTable[displayMembers[i]].ToString()); } } }
public static Table Create(Internal.ControlBase parent) { Gwen.Control.Table table = new Gwen.Control.Table(parent.Target); table.RowFactory = new LuaTableRowFactory(table); return(new Table(table)); }
public LuaTableRowFactory(Gwen.Control.Table table) : base(table) { }