C#表格(DataGridView)整合其他控制項範例
GITHUB: https://github.com/jash-git/CS_DataGridView_CheckBox
資料來源: http://stackoverflow.com/questions/7916919/adding-a-button-to-a-winforms-datagridview
https://vectus.wordpress.com/2011/03/20/datagridview-cell-及-header-字型-及-大小-控制/
https://msdn.microsoft.com/zh-tw/library/z2akwyy7(v=vs.110).aspx
https://msdn.microsoft.com/zh-tw/library/system.windows.forms.datagridviewbuttoncell(v=vs.110).aspx
http://www.programmer-club.com.tw/showSameTitleN/csharp/5354.html
http://www.programmer-club.com.tw/ShowSameTitleN/csharp/9183.html
http://csharp.net-informations.com/datagridview/csharp-datagridview-image.htm
DataGridView、DataTable、ReadOnly、禁止編輯、刪除空白列、欄位標題置中、設定高度、全部清除、DataGridViewImageColumn、DataGridViewButtonColumn、DateTimePicker、DataGridViewCheckBoxCell、DataGridViewTextBoxCell、DataGridViewComboBoxCell、DataSource、dataGridView1.ColumnCount、HeaderText、UseColumnTextForButtonValue、DataGridViewCellEventHandler、DataGridViewCellEventArgs、Columns.Clear()、Rows.Clear()、Rows.Add()
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
namespace CS_DataGridView_CheckBox { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { dataGridView1.ColumnCount = 3; dataGridView1.Columns[0].Name = “Product ID”; dataGridView1.Columns[1].Name = “Product Name”; dataGridView1.Columns[2].Name = “Product Price”;
string[] dataGridView1.Rows.Add(row); row = new string[] { “2”, “Product 2”, “2000” }; dataGridView1.Rows.Add(row); row = new string[] { “3”, “Product 3”, “3000” }; dataGridView1.Rows.Add(row); row = new string[] { “4”, “Product 4”, “4000” }; dataGridView1.Rows.Add(row);
DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn(); dataGridView1.Columns.Add(chk); chk.HeaderText = “Check Data”; chk.Name = “chk”;
}
private void button2_Click(object sender, EventArgs e) { //http://stackoverflow.com/questions/7916919/adding-a-button-to-a-winforms-datagridview DataTable dt = new DataTable(); dt.Columns.Add(“name”); for (int j = 0; j < 10; j++) { dt.Rows.Add(“”); }
this.dataGridView1.DataSource
this.dataGridView1.Columns[0].Width
/*
* First method : */
DataGridViewComboBoxCell ComboBoxCell = new DataGridViewComboBoxCell(); ComboBoxCell.Items.AddRange(new string[] { “aaa”, “bbb”, “ccc” });
this.dataGridView1[0,
this.dataGridView1[0,
DataGridViewTextBoxCell TextBoxCell = new DataGridViewTextBoxCell();
this.dataGridView1[0,
this.dataGridView1[0,
DataGridViewCheckBoxCell CheckBoxCell = new DataGridViewCheckBoxCell(); CheckBoxCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
this.dataGridView1[0,
this.dataGridView1[0,
/*
* Second method : Add */ DateTimePicker dtp = new DateTimePicker(); dtp.Value = DateTime.Now.AddDays(-10);
//add this.dataGridView1.Controls.Add(dtp);
//set dtp.Location = this.dataGridView1.GetCellDisplayRectangle(0, 3, true).Location; dtp.Size = this.dataGridView1.GetCellDisplayRectangle(0, 3, true).Size; }
private void button3_Click(object sender, EventArgs e) {
//https://msdn.microsoft.com/zh-tw/library/z2akwyy7(v=vs.110).aspx
//https://msdn.microsoft.com/zh-tw/library/system.windows.forms.datagridviewbuttoncell(v=vs.110).aspx dataGridView1.ReadOnly = true;//禁MT止i編s輯e
dataGridView1.AllowUserToAddRows dataGridView1.ColumnCount = 3; dataGridView1.Columns[0].Name = “Product ID”; dataGridView1.Columns[1].Name = “Product Name”; dataGridView1.Columns[2].Name = “Product Price”;
dataGridView1.RowTemplate.Height
dataGridView1.Columns[0].Width =
dataGridView1.Columns[1].Width =
dataGridView1.Columns[2].Width =
string[] dataGridView1.Rows.Add(row); row = new string[] { “2”, “Product 2”, “2000” }; dataGridView1.Rows.Add(row); row = new string[] { “3”, “Product 3”, “3000” }; dataGridView1.Rows.Add(row); row = new string[] { “4”, “Product 4”, “4000” }; dataGridView1.Rows.Add(row);
DataGridViewButtonColumn buttonColumn =new DataGridViewButtonColumn(); buttonColumn.Width = 200; buttonColumn.HeaderText = “按o鈕s”; buttonColumn.Name = “Status Request”; buttonColumn.Text = “Request Status”;
// Add dataGridView1.CellClick +=new DataGridViewCellEventHandler(dataGridView1_CellClick);
/*
Image image = img.Image = image; dataGridView1.Columns.Add(img);
img.HeaderText =
img.Name = */
} public void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) {
// if (e.RowIndex < 0 || e.ColumnIndex !=dataGridView1.Columns[“Status Request”].Index) return;
// String Strbuf = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();//抓±i取Lu數A值E
MessageBox.Show(Strbuf); }
public DataGridViewColumnSortMode NotSortable { get; set; }
private void button4_Click(object sender, EventArgs e) { try { dataGridView1.Rows.Clear();//只Du清M除X¢G資Me料A,A欄a位i還U在b//https://social.msdn.microsoft.com/Forums/vstudio/en-US/78f584ba-53b4-4272-9d67-5f7fdf0c85ab/how-to-clear-datagridview-all-rows?forum=csharpgeneral } finally {
} } } }
|