Thứ Ba, 20 tháng 12, 2016

Mô hình thêm mới 01 cell trong dinte openxml

1. Khi tạo một workbook, đã mặc định thêm mới 1 thành phần style vào stylesheet bằng hàm
WorkbookStylesPart stylesPart = _workbookPart.AddNewPart<WorkbookStylesPart>(); stylesPart.Stylesheet = CStyle.GenerateStyleSheet();
 stylesPart.Stylesheet.Save();

2. Khi khởi tạo một style, đã khởi tạo các thành phần cơ bản
cStyle = new CStyle();
Trong CStyle.cs
public CStyle()
        {
            numberFormatCode = null;
            fontSize = 11;
            fontName = "TimeNewRoman";
            fontColor = "000";
            fontBold = false;
            fontItalic = false;
            fillPattern = PatternValues.None;
            fillForeGroundColor = null;
            borderLeftColor = null;
            borderLeftStyleValue = BorderStyleValues.None;
            borderBottomColor = null;
            borderBottomStyleValue = BorderStyleValues.None;
            borderRightColor = null;
            borderRightStyleValue = BorderStyleValues.None;
            borderTopColor = null;
            borderTopStyleValue = BorderStyleValues.None;
            alignmentHorizontal = HorizontalAlignmentValues.Left;
            alignmentVertical = VerticalAlignmentValues.Center;
            wrapText = true;
            textRotate = (uint)0;
        }
3. Có thể khai báo các thuộc tính cho style thông qua
cStyle.alignmentHorizontal = HorizontalAlignmentValues.Left;
 Style.fontName = "Times New Roman";
 cStyle.fontSize = 12;
 Khi cStyle.CreateStyle(); sẽ tạo style theo tất cả các thuộc tính đã set -> CStyle.cs (line 97), hàm này sẽ bổ sung các thuộc tính quan trọng:
         public Fill _oFill { get; set; }
        public Border _oBorder { get; set; }
        public Font _oFont { get; set; }
        public Alignment _oAlignment { get; set; }
        public NumberingFormat _oNumberingFormat { get; set; }
Chú ý:
Riêng đối với _oNumberingFormat phải quan tâm tới NumberFormatId
Hàm InsertNumberingFormat
public uint InsertNumberingFormat(NumberingFormat numberingFormat, WorkbookPart workbookPart)
        {
            NumberingFormats numberingFormats = workbookPart.WorkbookStylesPart.Stylesheet.Elements<NumberingFormats>().First();
            //cập nhật id cho numberingFormat
            numberingFormat.NumberFormatId = numberingFormats.Count;
            numberingFormats.Append(numberingFormat);
            return (uint)numberingFormats.Count++;
        } 

Cuối cùng, hàm
public uint GetStyleIndex(WorkbookPart _workbookPart, Cell cell)
        {
            CellFormat cellFormat = cell.StyleIndex != null ? this.GetCellFormat(cell.StyleIndex, _workbookPart).CloneNode(true) as CellFormat : new CellFormat();
            this.AppendCellFormat(cellFormat, _workbookPart); //là hàm quan trọng để tạo các format
            uint styleIndex = this.InsertCellFormat(cellFormat, _workbookPart);
            return styleIndex;
        }

Sẽ thêm mới một style và trả về styleIndex
















Thứ Ba, 6 tháng 12, 2016

How to Use ViewModel in Asp.Net MVC with Example

Here we will learn what is viewmodel in asp.net mvc and how to use viewmodel in asp.net mvc applications with example.

ViewModel in Asp.Net MVC

The viewmodel in asp.net mvc represent only the data we want to display on view whether it is used for displaying or for taking input from view. If we want to display more than one model on view in asp.net mvc then we need to create a new viewmodel. Following image shows visual representation of view model in asp.net mvc.
Here we will learn asp.net mvc viewmodel with simple example if we have a Customer entity and Order entity. In view to display both entities (Customer entity + Order entity) data then we need to create viewmodel (CustomerVM) and we will select the properties whichever we want to display from both entities (Customer entity + Order entity) and create a viewmodel.

viewmodel structure in asp.net mvc application

Now start with creating a viewmodel in asp.net mvc before that let's have look on table which we are going to use in our application.

Thứ Sáu, 2 tháng 12, 2016

Hướng dẫn cài đặt PostgreSQL 9.5, PostGIS 2.2 and pgRouting 2.1.0 trong Centos

Postgres là hệ quản trị cơ sở mã nguồn mở hỗ trợ rất mạnh các hệ thống thông tin bản đồ (webgis). Tài liệu này sẽ hướng dẫn cài đặt PostgreSQL 9.5; PostGIS; Pgrouting trong hệ điều hành CentOS 6
Kết quả hình ảnh cho postgresql pgrouting