วันพุธที่ 26 สิงหาคม พ.ศ. 2563

การติดต่อ ระหว่าง Gridview ของ C# form กับ C# Asp Web

ในการส่ง Data ระหว่าง Gridview 2 ระบบโดยเฉพาะ ระบบใหม่มักจะเป็น REST เพื่อความง่าย จะส่ง ผ่านกันทาง Json Format ที่เป็น String และมี {}

ในการส่าง Data ของ Gridview จะส่งโดยตรงไม่ได้ ต้องส่งทาง Datasource เช่นใน Window Form ต้องส่งเป็น Datatable แทน

  DataTable dt = new DataTable();

            foreach (DataGridViewColumn col in dgvReport.Columns)

            {

                dt.Columns.Add(col.Name);

            }


            foreach (DataGridViewRow row in dgvReport.Rows)

            {

                DataRow dRow = dt.NewRow();

                foreach (DataGridViewCell cell in row.Cells)

                {

                    dRow[cell.ColumnIndex] = cell.Value;

                }

                dt.Rows.Add(dRow);

            }

            var js = Newtonsoft.Json.JsonConvert.SerializeObject(dt);

            //  MessageBox.Show(js.ToString());

            File.WriteAllText("c:/temp/v.json",js.ToString());


สำหรับใน Web form ก็จะรับได้ ในแบบ เดียวกัน แต่ต้องมี Option ในการ convert ว่าเป็น Datatable เหมือนกัน

   string myDynamicJSON = File.ReadAllText("c:/temp/v.json");

        //Using dynamic keyword with JsonConvert.DeserializeObject, here you need to import Newtonsoft.Json  

        dynamic myObject = (DataTable)JsonConvert.DeserializeObject(myDynamicJSON, typeof(DataTable));

        


        //Binding gridview from dynamic object   

        GridView1.DataSource = myObject;

        GridView1.DataBind();

วันอังคารที่ 4 สิงหาคม พ.ศ. 2563

Setup Nodejs เป็น Simple http server

NodeJs เป็น ระบบ Webserver ที่ง่าย และ นิยมมากใช้ Javascript เป็น Client และ Server ตัวอย่างของ Forge Viewer จะเป็น NodeJs เสียส่วนใหญ่ 

การติดตั้ง เข้า Directory ก่อน เช่น c:\test

1. Init ก่อน
    npm init
    ตั้งค่า project ตามที่แนะนำ ใส่ชื่อ โครง การ Version และ file main ให้ เป็น server.js
2. สร้างหรือแก้ server.js

var connect = require('connect');

var serveStatic = require('serve-static');


connect()

    .use(serveStatic(__dirname))

    .listen(8080, () => console.log('Server running on 8080...'));


3.ติดตั้ง Package 

  npm install connect serve-static

4.run

  npm run start


Server ก็จะไปอยู่ ที่ 

http://localhost:8080

โดยที่จะ Default เป็น index.js หรือ index.html


Autodesk Forge การใช้ Markups

การใช้ Markups ใน Autodesk Forge 
มี 2 จุด ต้องแก้ที่ Index.html ให้ ใช้ viewer3D.js ต้องระวัง อย่างใช้ viewer3d.min.js ตัวนี้จะเป็นตัว Light
สามารถทำได้ โดย เพิ่ม Extension
ใน ForgeViewer.js

 var config3d = {

        extensions: ['Autodesk.Sample.CustomPropertyPanelExtension''Autodesk.Viewing.MarkupsCore', 'Autodesk.Viewing.MarkupsGui']

    };

    viewer = new Autodesk.Viewing.GuiViewer3D(document.getElementById('forgeViewer'), config3d);


    viewer.start();