Exemplo n.º 1
0
        public IControl GetDataGrid(bool needBorrowColumn = false, bool needStateColumn = false, int stateColumnwidth = 80)
        {
            var dataGrid   = new MiniDataGrid();
            var listCofig  = this.S_DOC_Space.S_DOC_ListConfig.FirstOrDefault(d => d.RelationID == this.ID);
            var detailList = listCofig.S_DOC_ListConfigDetail.Where(d => d.Dispaly == "True").OrderBy(d => d.DetailSort).ToList();

            if (needStateColumn)
            {
                MiniGridColumn column = new MiniGridColumn();
                column.Field      = "State";
                column.HeaderText = "状态";
                column.align      = "center"; column.Allowsort = false; column.Width = stateColumnwidth;
                dataGrid.AddControl(column);
            }
            if (needBorrowColumn && this.CanBorrow == "True")
            {
                MiniGridColumn column = new MiniGridColumn();
                column.Field      = "BorrowState";
                column.HeaderText = "是否借出";
                column.align      = "center"; column.Allowsort = false; column.Width = 80;
                dataGrid.AddControl(column);
                MiniGridColumn column2 = new MiniGridColumn();
                column2.Field      = "BorrowDetail";
                column2.HeaderText = "借阅记录";
                column2.align      = "center"; column2.Allowsort = false; column2.Width = 80;
                dataGrid.AddControl(column2);
            }
            foreach (var item in detailList)
            {
                MiniGridColumn column   = new MiniGridColumn();
                var            nodeAttr = this.S_DOC_FileAttr.FirstOrDefault(d => d.FileAttrField == item.AttrField);
                if (nodeAttr == null)
                {
                    continue;
                }
                column.Field      = item.AttrField;
                column.HeaderText = item.AttrName;
                column.align      = item.Align;
                if (item.AllowSort == TrueOrFalse.False.ToString())
                {
                    column.Allowsort = false;
                }
                column.Width = Convert.ToInt32(item.Width);
                if (nodeAttr.DataType == AttrDataType.DateTime.ToString())
                {
                    column.SetAttribute("dateformat", "yyyy-MM-dd");
                }
                dataGrid.AddControl(column);
            }
            return(dataGrid);
        }