public DocumentDetailView() : base(new DocumentLayoutList()) { view = new DBTableView <T>(Table, new QParam(LogicType.And, Table.ParseProperty("DocumentId"), CompareType.Equal, 0), DBViewKeys.Empty); DataSource = view; List.EditMode = EditModes.ByF2; toolLog.Visible = Table.IsLoging; toolLoad.Visible = toolRefresh.Visible = toolSave.Visible = toolStatus.Visible = false; HideOnClose = true; Name = nameof(DocumentDetailView <T>); }
public override void UpdateFilter() { if (filter is User || filter is UserGroup || filter is UserLog) { var view = list.ListSource as DBTableView <UserLog>; if (view == null) { if (list.ListSource is IDBTableView) { ((IDisposable)list.ListSource).Dispose(); } list.ListSource = view = new DBTableView <UserLog>((string)null, DBViewKeys.Empty); } var query = view.Query; var f = new List <object>(); foreach (var toolItem in toolType.DropDownItems) { if (toolItem.Checked) { f.Add((int)(UserLogType)toolItem.Tag); } } query.BuildPropertyParam(nameof(UserLog.LogType), CompareType.In, f); if (dateField.DataValue != null) { var interval = (DateInterval)dateField.DataValue; query.BuildPropertyParam(nameof(UserLog.DateCreate), CompareType.GreaterOrEqual, interval.Min); query.BuildPropertyParam(nameof(UserLog.DateCreate), CompareType.LessOrEqual, interval.Max.AddDays(1)); } if (filter is User && mode == DataLogMode.User) { query.BuildPropertyParam(nameof(UserLog.UserId), CompareType.Equal, filter.PrimaryId); } else if (filter is UserGroup && mode == DataLogMode.Group) { query.BuildPropertyParam(nameof(UserLog.UserId), CompareType.In, ((UserGroup)filter).GetUsers().ToList()); } else if (filter is UserLog) { query.BuildPropertyParam(nameof(UserLog.ParentId), CompareType.Equal, filter.PrimaryId); } } base.UpdateFilter(); }
public async void ViewDocumentsAsync(List <Document> documents) { if (documents.Count == 1) { ShowDocument(documents[0]); } else if (documents.Count > 1) { var list = new DBTableView <Document>((QParam)null, DBViewKeys.Static | DBViewKeys.Empty) { ItemType = documents[0].GetType() }; list.AddRange(documents); var dlist = new ListEditor { DataSource = list }; using (var form = new ToolWindow { Title = "New Documents", Mode = ToolShowMode.Dialog, Size = new Size(800, 600), Target = dlist }) { var command = await form.ShowAsync(this, new Point(1, 1)); if (command == Command.Ok) { foreach (Document document in documents) { await document.Save(); } } } } }
public DocumentListView() { filterClear = new ToolItem(FilterClearClick) { Name = "Clear", Glyph = GlyphType.Eraser }; filterWork = new ToolItem((s, e) => { Filter.IsWork = filterWork.Checked ? CheckedState.Checked : CheckedState.Indeterminate; }) { Name = "Work", DisplayStyle = ToolItemDisplayStyle.Text, CheckOnClick = true }; filterCurrent = new ToolItem((s, e) => { Filter.IsCurrent = filterCurrent.Checked; }) { Name = "TODO", DisplayStyle = ToolItemDisplayStyle.Text, CheckOnClick = true }; filterToolView = new ToolFieldEditor { FillWidth = true, Name = nameof(Filter), DisplayStyle = ToolItemDisplayStyle.Text }; filterCustomer = new ToolFieldEditor { FillWidth = true, Name = nameof(DocumentFilter.Customer), DisplayStyle = ToolItemDisplayStyle.Text }; filterNumber = new ToolFieldEditor { FillWidth = true, Name = nameof(DocumentFilter.Number), DisplayStyle = ToolItemDisplayStyle.Text }; filterTitle = new ToolFieldEditor { FillWidth = true, Name = nameof(DocumentFilter.Title), DisplayStyle = ToolItemDisplayStyle.Text }; filterDate = new ToolFieldEditor { FillWidth = true, Name = nameof(DocumentFilter.Date), DisplayStyle = ToolItemDisplayStyle.Text }; var filterGroup = new ToolItem { Row = 1, Name = "FilterBar" }; filterGroup.AddRange(new ToolItem[] { filterToolView, filterCustomer, filterNumber, filterTitle, filterDate, new ToolSeparator { Width = 20 }, filterWork, filterCurrent, filterClear }); ofDialog = new OpenFileDialog() { Multiselect = true }; loader = new TableLoader { LoadParam = DBLoadParam.Referencing }; toolCreate = new ToolItem(ToolCreateClick) { DisplayStyle = ToolItemDisplayStyle.Text, Name = "Create", GlyphColor = Colors.Green, Glyph = GlyphType.PlusCircle }; toolCopy = new ToolItem(ToolCopyClick) { DisplayStyle = ToolItemDisplayStyle.Text, Name = "Copy", Glyph = GlyphType.CopyAlias }; toolLoad = new ToolItem(ToolLoadClick) { DisplayStyle = ToolItemDisplayStyle.Text, Name = "Load", Glyph = GlyphType.Download }; toolSend = new ToolItem(ToolAcceptClick) { DisplayStyle = ToolItemDisplayStyle.Text, Name = "Send/Accept", Glyph = GlyphType.CheckCircle }; toolCount = new ToolLabel { Text = "0" }; toolPreview = new ToolItem(ToolPreviewClick) { CheckOnClick = true, Checked = true, Name = "Preview", Glyph = GlyphType.List }; toolParam = new ToolDropDown(ToolParamClick) { Name = "Parameters", Glyph = GlyphType.Spinner }; toolProgress = new ToolTableLoader { Loader = loader }; bar = new Toolsbar( toolCreate, toolCopy, toolLoad, new ToolSeparator { FillWidth = true }, toolCount, toolPreview, toolProgress, filterGroup) { Name = "DocumentListBar" }; list = new DocumentLayoutList() { EditMode = EditModes.ByF2, Name = "DocumentList", ReadOnly = true }; list.CellDoubleClick += ListCellMouseDoubleClick; list.PositionChanged += ListOnPositionChanged; list.SelectionChanged += ListOnSelectionChanged; //hSplit.Panel1.Resize = false; //hSplit.Panel2.Resize = true; //hSplit.Panel2.Content = vSplit; PackStart(bar, false, false); PackStart(list, true, true); Name = "DocumentListView"; Documents = new DBTableView <Document>(); Filter = new DocumentFilter(); }