C# dataGridView 顯示圖形+文字
資料來源:http://tablegridview.blogspot.tw/
public void showControllersData()
{
if (m_Controller.getController() == 0)
{
m_intTimerStep = 0;//重新登錄狀態
}
//MessageBox.Show(m_Controller.m_StrGetData);
dataGridView_Controller1.Columns.Clear();
dataGridView_Controller1.ColumnHeadersDefaultCellStyle.Font = new Font(“Tahoma”, 10);//欄位字體//https://vectus.wordpress.com/2011/03/20/datagridview-cell-及-header-字型-及-大小-控制/
//https://msdn.microsoft.com/zh-tw/library/z2akwyy7(v=vs.110).aspx
dataGridView_Controller1.DefaultCellStyle.Font = new Font(“Tahoma”, 10);
dataGridView_Controller1.DefaultCellStyle.ForeColor = Color.Blue;
dataGridView_Controller1.DefaultCellStyle.BackColor = Color.Beige;
//https://msdn.microsoft.com/zh-tw/library/system.windows.forms.datagridviewbuttoncell(v=vs.110).aspx
dataGridView_Controller1.ReadOnly = true;//禁止編輯
dataGridView_Controller1.AllowUserToAddRows = false;//刪除空白列//http://www.programmer-club.com.tw/showSameTitleN/csharp/5354.html
DataTable dt1 = new DataTable();
dt1.Columns.Add(m_StrMsg_GridView00, typeof(Image));
dt1.Columns.Add(m_StrMsg_GridView01);
dt1.Columns.Add(m_StrMsg_GridView02);
dt1.Columns.Add(m_StrMsg_GridView03);
dt1.Columns.Add(m_StrMsg_GridView05);
dt1.Columns.Add(m_StrMsg_GridView06);
dt1.Columns.Add(m_StrMsg_GridView07);
for (int i = 0; i < m_Controller.m_ListControllers.Count; i++)
{
String StrBuf=”0″;
if(m_Controller.m_ListControllers[i].connection_failed_timestamp>0)
{
System.DateTime dt = new System.DateTime(2000, 1, 1).AddSeconds(m_Controller.m_ListControllers[i].connection_failed_timestamp);
StrBuf=dt.ToString(“yyyy/MM/dd HH:mm:ss”);
}
string photopath = Application.StartupPath + @”\images\”;
if ((m_Controller.m_ListControllers[i].status == 1)||(m_Controller.m_ListControllers[i].status == 8))
{
//string[] row = new string[] { (“Online:” + m_Controller.m_ListControllers[i].status), (“” + m_Controller.m_ListControllers[i].identifier), m_Controller.m_ListControllers[i].name, m_Controller.m_ListControllers[i].model_type,m_Controller.m_ListControllers[i].serial_number, m_Controller.m_ListControllers[i].connection_parameter, “” + m_Controller.m_ListControllers[i].connection_failed_counter, “” + StrBuf };
dt1.Rows.Add(Image.FromFile(photopath + “gball.png”), (“” + m_Controller.m_ListControllers[i].identifier), m_Controller.m_ListControllers[i].name, m_Controller.m_ListControllers[i].model_type, m_Controller.m_ListControllers[i].connection_parameter, (“” + m_Controller.m_ListControllers[i].connection_failed_counter), (“” + StrBuf));////http://tablegridview.blogspot.tw/
}
else
{
//string[] row = new string[] { (“Offline:” + m_Controller.m_ListControllers[i].status), (“” + m_Controller.m_ListControllers[i].identifier), m_Controller.m_ListControllers[i].name, m_Controller.m_ListControllers[i].model_type,m_Controller.m_ListControllers[i].serial_number, m_Controller.m_ListControllers[i].connection_parameter, “” + m_Controller.m_ListControllers[i].connection_failed_counter, “” + StrBuf };
dt1.Rows.Add(Image.FromFile(photopath + “rball.png”), (“” + m_Controller.m_ListControllers[i].identifier), m_Controller.m_ListControllers[i].name, m_Controller.m_ListControllers[i].model_type, m_Controller.m_ListControllers[i].connection_parameter, (“” + m_Controller.m_ListControllers[i].connection_failed_counter), (“” + StrBuf));//http://tablegridview.blogspot.tw/
}
}
dataGridView_Controller1.DataSource = dt1;
dataGridView_Controller1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//欄位標題置中//https://social.msdn.microsoft.com/Forums/zh-TW/9c555078-d4e9-44b2-a430-ffd92d237314/vb2008-datagridview?forum=232
dataGridView_Controller1.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dataGridView_Controller1.RowTemplate.Height = 30;//設定高度//http://www.programmer-club.com.tw/ShowSameTitleN/csharp/9183.html
dataGridView_Controller1.Columns[0].Width = 90;
dataGridView_Controller1.Columns[1].Width = 90;
dataGridView_Controller1.Columns[2].Width = 150;
dataGridView_Controller1.Columns[3].Width = 150;
dataGridView_Controller1.Columns[4].Width = 180;//150;
dataGridView_Controller1.Columns[5].Width = 200;//180;
dataGridView_Controller1.Columns[6].Width = 230;//200;
//dataGridView_Controller1.Columns[7].Width = 230;
}