DataGridViewã§ã¯ãã»ã«ã®å¤ã表示ããã³ã³ããã¼ã«ãããããé¸ã¹ã¾ãã
ããã©ã«ãã§ã¯ã以ä¸ã®ã³ã³ããã¼ã«åã®ã«ã©ã ã¿ã¤ããåå¨ãã¦ãã¾ãã
- DataGridViewTextBoxColumn(ããã¹ã)
- DataGridViewCheckBoxColumn(ãã§ãã¯ããã¯ã¹)
- DataGridViewButtonColumn(ãã¿ã³)
- DataGridViewComboBoxColumn(ã³ã³ãããã¯ã¹)
- DataGridViewLinkColumn(ãªã³ã¯)
- DataGridViewImageColumn(ã¤ã¡ã¼ã¸)
ããã«ãç¬èªã®ã«ã©ã ã¿ã¤ãã使ãããã¨ãå¿è«å¯è½ã§ãã
ä»åã¯ãããã©ã«ãã§ç¨æããã¦ããã«ã©ã éã®ãµã³ãã«ã§ãã
ãªããåã«ã©ã ã¿ã¤ãã¯å
¨ã¦DataGridViewColumnã¯ã©ã¹ã®ãµãã¯ã©ã¹ã¨
ãªã£ã¦ãã¾ãã
以ä¸ãµã³ãã«ã§ãã
// vim:set ts=4 sw=4 et ws is nowrap ft=cs: using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; namespace Gsf.Samples.DGV{ public class DataGridViewSample03 : BaseForm{ DataGridView _grid; readonly string IE_PATH = @"C:/Program Files/Internet Explorer/IEXPLORE.EXE"; readonly string[] COMBO_DATA = new string[]{ "java" ,"c#" ,"python" ,"ruby" }; readonly string[] LINK_DATA = new string[]{ "http://www.google.co.jp" ,"http://www.yahoo.co.jp" ,"http://www.goo.ne.jp" ,"http://www.excite.co.jp" }; readonly Image[] IMAGE_DATA = new Image[]{ Image.FromFile("Resources/sample-image-01.jpg") ,Image.FromFile("Resources/sample-image-02.jpg") ,Image.FromFile("Resources/sample-image-03.jpg") ,Image.FromFile("Resources/sample-image-04.jpg") }; public DataGridViewSample03() : base("DataGridViewSample03"){ // nop; } protected override void InitializeComponents(){ ////////////////////////////////////////// // // ã«ã©ã ãªãã¸ã§ã¯ããä¸ã¤ãã¤çæãæå®ãã¦ããã¾ã. // _grid = new DataGridView(); _grid.Dock = DockStyle.Fill; _grid.EditMode = DataGridViewEditMode.EditOnEnter; // ã¦ã¼ã¶ã«ããè¡ã®è¿½å ãç¦æ¢. _grid.AllowUserToAddRows = false; // // 1åç®ã¯ããã¹ãããã¯ã¹(èªã¿åãå°ç¨). // DataGridViewTextBoxColumn col1 = new DataGridViewTextBoxColumn(); col1.HeaderText = "ããã¹ã(èªã¿åãå°ç¨)"; col1.DefaultCellStyle.ForeColor = Color.Red; col1.DefaultCellStyle.BackColor = Color.Gray; // èªã¿åãå°ç¨ col1.ReadOnly = true; // èªåãµã¤ãºèª¿æ´. col1.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; // // 2åç®ã¯ãã§ãã¯ããã¯ã¹. // DataGridViewCheckBoxColumn col2 = new DataGridViewCheckBoxColumn(); col2.HeaderText = "ãã§ãã¯ããã¯ã¹"; // èªåãµã¤ãºèª¿æ´ç¡ã col2.AutoSizeMode = DataGridViewAutoSizeColumnMode.None; // 2ã¹ãã¼ãã®ãã§ãã¯ããã¯ã¹ col2.ThreeState = false; col2.FlatStyle = FlatStyle.Standard; // // 3åç®ã¯ãã¿ã³. // // ãã¿ã³ã«ã©ã ã®å ´åãè¡ãã¼ã¿ã«ãã¼ã¿ãæå®ããå¿ è¦ã¯ãªãã // DataGridViewButtonColumn col3 = new DataGridViewButtonColumn(); col3.HeaderText = "ãã¿ã³"; col3.Text = "Push Me!"; col3.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; // å ¨ã¦ã®ã»ã«ã«å¯¾ãã¦ãåããã¿ã³ã®ããã¹ããé©ç¨ããã«ã¯ä»¥ä¸ã®ããããã£ãtrueã«ãã col3.UseColumnTextForButtonValue = true; // // 4åç®ã¯ã³ã³ãããã¯ã¹. // DataGridViewComboBoxColumn col4 = new DataGridViewComboBoxColumn(); col4.HeaderText = "ã³ã³ãããã¯ã¹"; col4.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; col4.MaxDropDownItems = 3; // è£å®ã¢ã¼ããON col4.AutoComplete = true; col4.FlatStyle = FlatStyle.Standard; // ã³ã³ãã«è¡¨ç¤ºããå¤ãè¨å®. col4.Items.AddRange(COMBO_DATA); // // 5åç®ã¯ãªã³ã¯. // // ãã¿ã³ã¨åããUseColumnTextForLinkValueãtrueã®å ´åã¯ãå ¨ã»ã«ã®å¤ã // Textã¨åãã«ãªãã¾ãã // DataGridViewLinkColumn col5 = new DataGridViewLinkColumn(); col5.HeaderText = "ãªã³ã¯"; col5.UseColumnTextForLinkValue = false; col5.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; // ãªã³ã¯ã®åä½ã¯ãã·ã¹ãã ã¨åãã«ãã. col5.LinkBehavior = LinkBehavior.SystemDefault; // ä¸åº¦ãªã³ã¯å ã«ç§»åãããã¨ãããå ´åããªã³ã¯ã®è²ãå¤ãããã©ãã col5.TrackVisitedState = true; // // 6åç®ã¯ã¤ã¡ã¼ã¸. // DataGridViewImageColumn col6 = new DataGridViewImageColumn(); col6.HeaderText = "ã¤ã¡ã¼ã¸"; // // æ®ãã®é åãåããããããµã¤ãºè¨å®ãã. // col6.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; col6.Description = "ãµã³ãã«ã¤ã¡ã¼ã¸ã§ãã"; // ã¤ã¡ã¼ã¸ã®é ç½®æ¹æ³ãè¨å®. // (Streachã¯ã¯ã©ã¤ã¢ã³ãé åã«ãããã¦è¡¨ç¤ºããæå®.) col6.ImageLayout = DataGridViewImageCellLayout.Stretch; // // ãã¿ã³æ¼ä¸ã¤ãã³ããè¨å®(ã»ã«ã®ã¯ãªãã¯ã¤ãã³ãã¯DataGridViewã«è¿½å ãã). // // (CheckBoxã®ã¯ãªãã¯ã§ããã®ã¤ãã³ãã¯çºçãã.) // _grid.CellContentClick += delegate(object sender, DataGridViewCellEventArgs e){ // // ãã¿ã³ã«ã©ã ãã©ããã夿ããå¦ç. // DataGridView grid = sender as DataGridView; if(grid.Columns[e.ColumnIndex] is DataGridViewButtonColumn){ MessageBox.Show(string.Format("{0}è¡ç®ã®ãã¿ã³ãæ¼ä¸ããã¾ãã.", (e.RowIndex + 1))); } }; // // ãªã³ã¯æ¼ä¸ã¤ãã³ããè¨å® // _grid.CellContentClick += delegate(object sender, DataGridViewCellEventArgs e){ // // ãªã³ã¯ã«ã©ã ã®å ´åãIEã§éã. // DataGridView grid = sender as DataGridView; if(grid.Columns[e.ColumnIndex] is DataGridViewLinkColumn){ // // 該å½ã»ã«ã®ãã¼ã¿ãåå¾. // DataGridViewRow row = grid.Rows[e.RowIndex]; DataGridViewCell cell = row.Cells[e.ColumnIndex]; MessageBox.Show("ãã©ã¦ã¶ãèµ·åãã¾ã."); Process process = new Process(); process.StartInfo.FileName = IE_PATH; process.StartInfo.Arguments = cell.Value.ToString(); process.Start(); } }; // // 使ããã«ã©ã ãªãã¸ã§ã¯ãã追å . // _grid.Columns.AddRange( new DataGridViewColumn[]{ col1 ,col2 ,col3 ,col4 ,col5 ,col6 } ); // // è¡ãã¼ã¿ãè¨å®. // Random r = new Random(); for(int i = 0; i < 10; i++){ _grid.Rows.Add( string.Format("readonly-text-{0}", i.ToString()) ,((r.Next(0, 10) % 2) == 0) ? true : false ,null ,COMBO_DATA[r.Next(0, 4)] ,LINK_DATA[r.Next(0, 4)] ,IMAGE_DATA[r.Next(0,4)] ); } Controls.Add(_grid); Width = 630; Height = 300; } /// <summary> /// ã¢ããªã±ã¼ã·ã§ã³ã¨ã³ããªãã¤ã³ã. /// </summary> /// <remarks> /// æ¬ã¯ã©ã¹ã®ãã¹ãç¨ã«ãã©ã¼ã ãèµ·åãã¾ã. /// </remarks> [STAThread] static void Main(){ Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new DataGridViewSample03()); } } }
ãã§ãå®è¡ããã¨ä»¥ä¸ã®ããã«ãªãã¾ãã
ã¤ãã§ã«ãä»åã®ãµã³ãã«ãããã¨ãã¾ããã
å®è¡ã«ã¯ã.net framework 2.0ãå¿
è¦ã§ãã
ãµã³ãã«
ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼
éå»ã®è¨äºã«ã¤ãã¦ã¯ã以ä¸ã®ãã¼ã¸ãããåç
§ä¸ããã
- ããããåå¿é²æ¥è¨ã¾ã¨ã
ãµã³ãã«ã³ã¼ãã¯ã以ä¸ã®å ´æã§å ¬éãã¦ãã¾ãã
- ããããåå¿é²æ¥è¨ãµã³ãã«ã½ã¼ã¹ç½®ãå ´