From: maark on 8 Feb 2005 14:43 Platform : WinCE 4.2, .NET CF C# I am trying to use a DataGrid control to display some data but only 2 cells (one over the other) in the top left corner of the control are displayed. The bottom cell has a small black triangle in it. I think they are header cells because I have set the HeaderBackColor property to green. I have stepped through the code but cannot see what the problem is. Any ideas would be greatly appreciated. Here is a code snippet: public class ShowCodes : Form { private DataGrid gridCodes; private DataSet dsCodes; private DataTable dtCodes; private bool bGridStyleSet = false; private CodeInfo[] resultRows; public struct CodeInfo { public string code; public string number; public string street; public string city; public string province; } public ShowCodes() { this.DisplayGridResult(); } private void DisplayGridResult() { this.InitGrid(); /* * Calculate the size of the grid and the panel based on the * number of rows returned from the search. */ this.gridCodes.Size = new Size(760,200); this.gridCodes.Location = new Point(40, 100); this.gridCodes.Show(); } private void InitGrid() { this.gridCodes = new DataGrid(); this.SetGridStyle(); this.LoadData(); this.gridCodes.DataSource = this.dsCodes; this.gridCodes.Visible = true; this.gridCodes.SelectionForeColor = Color.Red; this.gridCodes.SelectionBackColor = Color.DarkBlue; this.gridCodes.BackColor = Color.White this.gridCodes.ForeColor = Color.Black; this.gridCodes.HeaderForeColor = Color.Black; this.gridCodes.HeaderBackColor = Color.Green; this.gridCodes.Enabled = true; this.gridCodes.Click += new EventHandler(gridCodes_Click); this.gridCodes.Parent = this; this.Controls.Add(this.gridCodes); } private void SetGridStyle() { DataGridTableStyle gridStyle = new DataGridTableStyle(); gridStyle.MappingName = "CodesTable"; // Code Column DataGridTextBoxColumn codeColStyle = new DataGridTextBoxColumn(); codeColStyle.MappingName = "Code"; codeColStyle.HeaderText = "postal_code"; codeColStyle.Width = 80; gridStyle.GridColumnStyles.Add(codeColStyle); // Number Column DataGridTextBoxColumn numberColStyle = new DataGridTextBoxColumn(); numberColStyle.MappingName = "Number"; numberColStyle.HeaderText = "number_range"; numberColStyle.Width = 100; gridStyle.GridColumnStyles.Add(numberColStyle); // Street Column DataGridTextBoxColumn streetColStyle = new DataGridTextBoxColumn(); streetColStyle.MappingName = "Street"; streetColStyle.HeaderText = "street name"; streetColStyle.Width = 300; gridStyle.GridColumnStyles.Add(streetColStyle); // City Column DataGridTextBoxColumn cityColStyle = new DataGridTextBoxColumn(); cityColStyle.MappingName = "City"; cityColStyle.HeaderText = "city"; cityColStyle.Width = 160; gridStyle.GridColumnStyles.Add(cityColStyle); this.gridCodes.TableStyles.Add(gridStyle); } private void LoadData() { this.dsCodes = new DataSet("dataSetCodes"); this.dtCodes = new DataTable("CodesTable"); DataColumn cCode = new DataColumn("Code"); DataColumn cNumber = new DataColumn("Number"); DataColumn cStreet = new DataColumn("Street"); DataColumn cCity = new DataColumn("City"); this.dtCodes.Columns.Add(cCode); this.dtCodes.Columns.Add(cNumber); this.dtCodes.Columns.Add(cStreet); this.dtCodes.Columns.Add(cCity); // Add the dataTable to the dataSet. this.dsCodes.Tables.Add(this.dtCodes); // Get the Results this.GetPostalCodes(); this.dtCodes.Clear(); DataRow dr; // Add the rows of data. for (int i = 0; i < this.resultRows.Length; i++) { dr = this.dtCodes.NewRow(); dr["Code"] = this.resultRows[i].code; dr["Number"] = this.resultRows[i].number; dr["Street"] = this.resultRows[i].street; dr["City"] = this.resultRows[i].city; this.dtCodes.Rows.Add(dr); } } // Hard-coded data private void GetCodes() { this.resultRows = new CodeInfo[2]; this.resultRows[0] = new CodeInfo(); this.resultRows[0].city = "montreal"; this.resultRows[0].code = "A1AS4S"; this.resultRows[0].number = "10-20"; this.resultRows[0].street = "Main Street"; this.resultRows[0].province = "Quebec"; this.resultRows[1] = new CodeInfo(); this.resultRows[1].city = "montreal"; this.resultRows[1].code = "A1AS4S"; this.resultRows[1].number = "20-30"; this.resultRows[1].street = "Main Street"; this.resultRows[1].province = "Quebec"; } } TIA Mark
From: Ilya Tumanov [MS] on 8 Feb 2005 14:56 You can't set grid's data source to a DataSet on CF. Only DataView or a DataTable (via default DataView) will work. Best regards, Ilya This posting is provided "AS IS" with no warranties, and confers no rights. "maark" <maark(a)discussions.microsoft.com> wrote in message news:F7CE02F5-E14C-4FB1-9916-8E5450DBE008(a)microsoft.com... > Platform : WinCE 4.2, .NET CF C# > I am trying to use a DataGrid control to display some data but only 2 > cells > (one over the other) in the top left corner of the control are displayed. > The bottom cell has a small black triangle in it. I think they are header > cells because I have set the HeaderBackColor property to green. I have > stepped through the code but cannot see what the problem is. Any ideas > would > be greatly appreciated. > > Here is a code snippet: > > > public class ShowCodes : Form > { > private DataGrid gridCodes; > private DataSet dsCodes; > private DataTable dtCodes; > private bool bGridStyleSet = false; > private CodeInfo[] resultRows; > > public struct CodeInfo > { > public string code; > public string number; > public string street; > public string city; > public string province; > } > > public ShowCodes() > { > this.DisplayGridResult(); > } > > private void DisplayGridResult() > { > this.InitGrid(); > /* > * Calculate the size of the grid and the panel based on the > * number of rows returned from the search. > */ > this.gridCodes.Size = new Size(760,200); > this.gridCodes.Location = new Point(40, 100); > this.gridCodes.Show(); > } > > > private void InitGrid() > { > this.gridCodes = new DataGrid(); > > this.SetGridStyle(); > > this.LoadData(); > this.gridCodes.DataSource = this.dsCodes; > this.gridCodes.Visible = true; > this.gridCodes.SelectionForeColor = Color.Red; > this.gridCodes.SelectionBackColor = Color.DarkBlue; > this.gridCodes.BackColor = Color.White > this.gridCodes.ForeColor = Color.Black; > this.gridCodes.HeaderForeColor = Color.Black; > this.gridCodes.HeaderBackColor = Color.Green; > this.gridCodes.Enabled = true; > this.gridCodes.Click += new EventHandler(gridCodes_Click); > this.gridCodes.Parent = this; > this.Controls.Add(this.gridCodes); > } > > private void SetGridStyle() > { > DataGridTableStyle gridStyle = new DataGridTableStyle(); > gridStyle.MappingName = "CodesTable"; > > // Code Column > DataGridTextBoxColumn codeColStyle = new > DataGridTextBoxColumn(); > codeColStyle.MappingName = "Code"; > codeColStyle.HeaderText = "postal_code"; > codeColStyle.Width = 80; > gridStyle.GridColumnStyles.Add(codeColStyle); > // Number Column > DataGridTextBoxColumn numberColStyle = new > DataGridTextBoxColumn(); > numberColStyle.MappingName = "Number"; > numberColStyle.HeaderText = "number_range"; > numberColStyle.Width = 100; > gridStyle.GridColumnStyles.Add(numberColStyle); > // Street Column > DataGridTextBoxColumn streetColStyle = new > DataGridTextBoxColumn(); > streetColStyle.MappingName = "Street"; > streetColStyle.HeaderText = "street name"; > streetColStyle.Width = 300; > gridStyle.GridColumnStyles.Add(streetColStyle); > // City Column > DataGridTextBoxColumn cityColStyle = new > DataGridTextBoxColumn(); > cityColStyle.MappingName = "City"; > cityColStyle.HeaderText = "city"; > cityColStyle.Width = 160; > gridStyle.GridColumnStyles.Add(cityColStyle); > > this.gridCodes.TableStyles.Add(gridStyle); > } > > private void LoadData() > { > this.dsCodes = new DataSet("dataSetCodes"); > this.dtCodes = new DataTable("CodesTable"); > > DataColumn cCode = new DataColumn("Code"); > DataColumn cNumber = new DataColumn("Number"); > DataColumn cStreet = new DataColumn("Street"); > DataColumn cCity = new DataColumn("City"); > > this.dtCodes.Columns.Add(cCode); > this.dtCodes.Columns.Add(cNumber); > this.dtCodes.Columns.Add(cStreet); > this.dtCodes.Columns.Add(cCity); > > // Add the dataTable to the dataSet. > this.dsCodes.Tables.Add(this.dtCodes); > > // Get the Results > this.GetPostalCodes(); > > this.dtCodes.Clear(); > DataRow dr; > > // Add the rows of data. > for (int i = 0; i < this.resultRows.Length; i++) > { > dr = this.dtCodes.NewRow(); > dr["Code"] = this.resultRows[i].code; > dr["Number"] = this.resultRows[i].number; > dr["Street"] = this.resultRows[i].street; > dr["City"] = this.resultRows[i].city; > this.dtCodes.Rows.Add(dr); > } > } > > // Hard-coded data > private void GetCodes() > { > this.resultRows = new CodeInfo[2]; > > this.resultRows[0] = new CodeInfo(); > this.resultRows[0].city = "montreal"; > this.resultRows[0].code = "A1AS4S"; > this.resultRows[0].number = "10-20"; > this.resultRows[0].street = "Main Street"; > this.resultRows[0].province = "Quebec"; > > this.resultRows[1] = new CodeInfo(); > this.resultRows[1].city = "montreal"; > this.resultRows[1].code = "A1AS4S"; > this.resultRows[1].number = "20-30"; > this.resultRows[1].street = "Main Street"; > this.resultRows[1].province = "Quebec"; > > } > } > > TIA > > Mark >
From: Peter Foot [MVP] on 8 Feb 2005 15:03 You are sure the mapping names you have defined exactly match those of fields in the datasource e.g. codeColStyle.MappingName = "Code"; codeColStyle.HeaderText = "postal_code"; Are these the correct way round - it looks to me as if postal_code should be your field name and Code is your display text... Peter -- Peter Foot Windows Embedded MVP www.inthehand.com | www.opennetcf.org "maark" <maark(a)discussions.microsoft.com> wrote in message news:F7CE02F5-E14C-4FB1-9916-8E5450DBE008(a)microsoft.com... > Platform : WinCE 4.2, .NET CF C# > I am trying to use a DataGrid control to display some data but only 2 > cells > (one over the other) in the top left corner of the control are displayed. > The bottom cell has a small black triangle in it. I think they are header > cells because I have set the HeaderBackColor property to green. I have > stepped through the code but cannot see what the problem is. Any ideas > would > be greatly appreciated. > > Here is a code snippet: > > > public class ShowCodes : Form > { > private DataGrid gridCodes; > private DataSet dsCodes; > private DataTable dtCodes; > private bool bGridStyleSet = false; > private CodeInfo[] resultRows; > > public struct CodeInfo > { > public string code; > public string number; > public string street; > public string city; > public string province; > } > > public ShowCodes() > { > this.DisplayGridResult(); > } > > private void DisplayGridResult() > { > this.InitGrid(); > /* > * Calculate the size of the grid and the panel based on the > * number of rows returned from the search. > */ > this.gridCodes.Size = new Size(760,200); > this.gridCodes.Location = new Point(40, 100); > this.gridCodes.Show(); > } > > > private void InitGrid() > { > this.gridCodes = new DataGrid(); > > this.SetGridStyle(); > > this.LoadData(); > this.gridCodes.DataSource = this.dsCodes; > this.gridCodes.Visible = true; > this.gridCodes.SelectionForeColor = Color.Red; > this.gridCodes.SelectionBackColor = Color.DarkBlue; > this.gridCodes.BackColor = Color.White > this.gridCodes.ForeColor = Color.Black; > this.gridCodes.HeaderForeColor = Color.Black; > this.gridCodes.HeaderBackColor = Color.Green; > this.gridCodes.Enabled = true; > this.gridCodes.Click += new EventHandler(gridCodes_Click); > this.gridCodes.Parent = this; > this.Controls.Add(this.gridCodes); > } > > private void SetGridStyle() > { > DataGridTableStyle gridStyle = new DataGridTableStyle(); > gridStyle.MappingName = "CodesTable"; > > // Code Column > DataGridTextBoxColumn codeColStyle = new > DataGridTextBoxColumn(); > codeColStyle.MappingName = "Code"; > codeColStyle.HeaderText = "postal_code"; > codeColStyle.Width = 80; > gridStyle.GridColumnStyles.Add(codeColStyle); > // Number Column > DataGridTextBoxColumn numberColStyle = new > DataGridTextBoxColumn(); > numberColStyle.MappingName = "Number"; > numberColStyle.HeaderText = "number_range"; > numberColStyle.Width = 100; > gridStyle.GridColumnStyles.Add(numberColStyle); > // Street Column > DataGridTextBoxColumn streetColStyle = new > DataGridTextBoxColumn(); > streetColStyle.MappingName = "Street"; > streetColStyle.HeaderText = "street name"; > streetColStyle.Width = 300; > gridStyle.GridColumnStyles.Add(streetColStyle); > // City Column > DataGridTextBoxColumn cityColStyle = new > DataGridTextBoxColumn(); > cityColStyle.MappingName = "City"; > cityColStyle.HeaderText = "city"; > cityColStyle.Width = 160; > gridStyle.GridColumnStyles.Add(cityColStyle); > > this.gridCodes.TableStyles.Add(gridStyle); > } > > private void LoadData() > { > this.dsCodes = new DataSet("dataSetCodes"); > this.dtCodes = new DataTable("CodesTable"); > > DataColumn cCode = new DataColumn("Code"); > DataColumn cNumber = new DataColumn("Number"); > DataColumn cStreet = new DataColumn("Street"); > DataColumn cCity = new DataColumn("City"); > > this.dtCodes.Columns.Add(cCode); > this.dtCodes.Columns.Add(cNumber); > this.dtCodes.Columns.Add(cStreet); > this.dtCodes.Columns.Add(cCity); > > // Add the dataTable to the dataSet. > this.dsCodes.Tables.Add(this.dtCodes); > > // Get the Results > this.GetPostalCodes(); > > this.dtCodes.Clear(); > DataRow dr; > > // Add the rows of data. > for (int i = 0; i < this.resultRows.Length; i++) > { > dr = this.dtCodes.NewRow(); > dr["Code"] = this.resultRows[i].code; > dr["Number"] = this.resultRows[i].number; > dr["Street"] = this.resultRows[i].street; > dr["City"] = this.resultRows[i].city; > this.dtCodes.Rows.Add(dr); > } > } > > // Hard-coded data > private void GetCodes() > { > this.resultRows = new CodeInfo[2]; > > this.resultRows[0] = new CodeInfo(); > this.resultRows[0].city = "montreal"; > this.resultRows[0].code = "A1AS4S"; > this.resultRows[0].number = "10-20"; > this.resultRows[0].street = "Main Street"; > this.resultRows[0].province = "Quebec"; > > this.resultRows[1] = new CodeInfo(); > this.resultRows[1].city = "montreal"; > this.resultRows[1].code = "A1AS4S"; > this.resultRows[1].number = "20-30"; > this.resultRows[1].street = "Main Street"; > this.resultRows[1].province = "Quebec"; > > } > } > > TIA > > Mark >
From: maark on 8 Feb 2005 16:18 Thank you - By setting the DataGrid's DataSource to a DataView the grid now displays correctly. BTW - I believe that I had used a DataSet with the DataGrid a couple of months ago so I am interested as to why it is not working now? Mark "Ilya Tumanov [MS]" wrote: > You can't set grid's data source to a DataSet on CF. > Only DataView or a DataTable (via default DataView) will work. > > Best regards, > > Ilya > > This posting is provided "AS IS" with no warranties, and confers no rights. > > > > "maark" <maark(a)discussions.microsoft.com> wrote in message > news:F7CE02F5-E14C-4FB1-9916-8E5450DBE008(a)microsoft.com... > > Platform : WinCE 4.2, .NET CF C# > > I am trying to use a DataGrid control to display some data but only 2 > > cells > > (one over the other) in the top left corner of the control are displayed. > > The bottom cell has a small black triangle in it. I think they are header > > cells because I have set the HeaderBackColor property to green. I have > > stepped through the code but cannot see what the problem is. Any ideas > > would > > be greatly appreciated. > > > > Here is a code snippet: > > > > > > public class ShowCodes : Form > > { > > private DataGrid gridCodes; > > private DataSet dsCodes; > > private DataTable dtCodes; > > private bool bGridStyleSet = false; > > private CodeInfo[] resultRows; > > > > public struct CodeInfo > > { > > public string code; > > public string number; > > public string street; > > public string city; > > public string province; > > } > > > > public ShowCodes() > > { > > this.DisplayGridResult(); > > } > > > > private void DisplayGridResult() > > { > > this.InitGrid(); > > /* > > * Calculate the size of the grid and the panel based on the > > * number of rows returned from the search. > > */ > > this.gridCodes.Size = new Size(760,200); > > this.gridCodes.Location = new Point(40, 100); > > this.gridCodes.Show(); > > } > > > > > > private void InitGrid() > > { > > this.gridCodes = new DataGrid(); > > > > this.SetGridStyle(); > > > > this.LoadData(); > > this.gridCodes.DataSource = this.dsCodes; > > this.gridCodes.Visible = true; > > this.gridCodes.SelectionForeColor = Color.Red; > > this.gridCodes.SelectionBackColor = Color.DarkBlue; > > this.gridCodes.BackColor = Color.White > > this.gridCodes.ForeColor = Color.Black; > > this.gridCodes.HeaderForeColor = Color.Black; > > this.gridCodes.HeaderBackColor = Color.Green; > > this.gridCodes.Enabled = true; > > this.gridCodes.Click += new EventHandler(gridCodes_Click); > > this.gridCodes.Parent = this; > > this.Controls.Add(this.gridCodes); > > } > > > > private void SetGridStyle() > > { > > DataGridTableStyle gridStyle = new DataGridTableStyle(); > > gridStyle.MappingName = "CodesTable"; > > > > // Code Column > > DataGridTextBoxColumn codeColStyle = new > > DataGridTextBoxColumn(); > > codeColStyle.MappingName = "Code"; > > codeColStyle.HeaderText = "postal_code"; > > codeColStyle.Width = 80; > > gridStyle.GridColumnStyles.Add(codeColStyle); > > // Number Column > > DataGridTextBoxColumn numberColStyle = new > > DataGridTextBoxColumn(); > > numberColStyle.MappingName = "Number"; > > numberColStyle.HeaderText = "number_range"; > > numberColStyle.Width = 100; > > gridStyle.GridColumnStyles.Add(numberColStyle); > > // Street Column > > DataGridTextBoxColumn streetColStyle = new > > DataGridTextBoxColumn(); > > streetColStyle.MappingName = "Street"; > > streetColStyle.HeaderText = "street name"; > > streetColStyle.Width = 300; > > gridStyle.GridColumnStyles.Add(streetColStyle); > > // City Column > > DataGridTextBoxColumn cityColStyle = new > > DataGridTextBoxColumn(); > > cityColStyle.MappingName = "City"; > > cityColStyle.HeaderText = "city"; > > cityColStyle.Width = 160; > > gridStyle.GridColumnStyles.Add(cityColStyle); > > > > this.gridCodes.TableStyles.Add(gridStyle); > > } > > > > private void LoadData() > > { > > this.dsCodes = new DataSet("dataSetCodes"); > > this.dtCodes = new DataTable("CodesTable"); > > > > DataColumn cCode = new DataColumn("Code"); > > DataColumn cNumber = new DataColumn("Number"); > > DataColumn cStreet = new DataColumn("Street"); > > DataColumn cCity = new DataColumn("City"); > > > > this.dtCodes.Columns.Add(cCode); > > this.dtCodes.Columns.Add(cNumber); > > this.dtCodes.Columns.Add(cStreet); > > this.dtCodes.Columns.Add(cCity); > > > > // Add the dataTable to the dataSet. > > this.dsCodes.Tables.Add(this.dtCodes); > > > > // Get the Results > > this.GetPostalCodes(); > > > > this.dtCodes.Clear(); > > DataRow dr; > > > > // Add the rows of data. > > for (int i = 0; i < this.resultRows.Length; i++) > > { > > dr = this.dtCodes.NewRow(); > > dr["Code"] = this.resultRows[i].code; > > dr["Number"] = this.resultRows[i].number; > > dr["Street"] = this.resultRows[i].street; > > dr["City"] = this.resultRows[i].city; > > this.dtCodes.Rows.Add(dr); > > } > > } > > > > // Hard-coded data > > private void GetCodes() > > { > > this.resultRows = new CodeInfo[2]; > > > > this.resultRows[0] = new CodeInfo(); > > this.resultRows[0].city = "montreal"; > > this.resultRows[0].code = "A1AS4S"; > > this.resultRows[0].number = "10-20"; > > this.resultRows[0].street = "Main Street"; > > this.resultRows[0].province = "Quebec"; > > > > this.resultRows[1] = new CodeInfo(); > > this.resultRows[1].city = "montreal"; > > this.resultRows[1].code = "A1AS4S"; > > this.resultRows[1].number = "20-30"; > > this.resultRows[1].street = "Main Street"; > > this.resultRows[1].province = "Quebec"; > > > > } > > } > > > > TIA > > > > Mark > > > > >
From: "Ilya Tumanov [MS]" on 8 Feb 2005 16:33
That might be - in a desktop application. It never worked on CF. Best regards, Ilya This posting is provided "AS IS" with no warranties, and confers no rights. -------------------- > Thread-Topic: DataGrid only displays header cells > thread-index: AcUOI6qrs1pe5juNRRma6rT3vnHLJg== > X-WBNR-Posting-Host: 199.231.49.128 > From: "=?Utf-8?B?bWFhcms=?=" <maark(a)discussions.microsoft.com> > References: <F7CE02F5-E14C-4FB1-9916-8E5450DBE008(a)microsoft.com> <4209198b$1(a)news.microsoft.com> > Subject: Re: DataGrid only displays header cells > Date: Tue, 8 Feb 2005 13:18:00 -0800 > Lines: 193 > Message-ID: <B927045A-FCA5-4EED-A024-9773B0D5C7B4(a)microsoft.com> > MIME-Version: 1.0 > Content-Type: text/plain; > charset="Utf-8" > Content-Transfer-Encoding: 7bit > X-Newsreader: Microsoft CDO for Windows 2000 > Content-Class: urn:content-classes:message > Importance: normal > Priority: normal > X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0 > Newsgroups: microsoft.public.dotnet.framework.compactframework > NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.1.29 > Path: cpmsftngxa10.phx.gbl!TK2MSFTNGXA03.phx.gbl > Xref: cpmsftngxa10.phx.gbl microsoft.public.dotnet.framework.compactframework:70734 > X-Tomcat-NG: microsoft.public.dotnet.framework.compactframework > > Thank you - By setting the DataGrid's DataSource to a DataView the grid now > displays correctly. > BTW - I believe that I had used a DataSet with the DataGrid a couple of > months ago so I am interested as to why it is not working now? > > Mark > > "Ilya Tumanov [MS]" wrote: > > > You can't set grid's data source to a DataSet on CF. > > Only DataView or a DataTable (via default DataView) will work. > > > > Best regards, > > > > Ilya > > > > This posting is provided "AS IS" with no warranties, and confers no rights. > > > > > > > > "maark" <maark(a)discussions.microsoft.com> wrote in message > > news:F7CE02F5-E14C-4FB1-9916-8E5450DBE008(a)microsoft.com... > > > Platform : WinCE 4.2, .NET CF C# > > > I am trying to use a DataGrid control to display some data but only 2 > > > cells > > > (one over the other) in the top left corner of the control are displayed. > > > The bottom cell has a small black triangle in it. I think they are header > > > cells because I have set the HeaderBackColor property to green. I have > > > stepped through the code but cannot see what the problem is. Any ideas > > > would > > > be greatly appreciated. > > > > > > Here is a code snippet: > > > > > > > > > public class ShowCodes : Form > > > { > > > private DataGrid gridCodes; > > > private DataSet dsCodes; > > > private DataTable dtCodes; > > > private bool bGridStyleSet = false; > > > private CodeInfo[] resultRows; > > > > > > public struct CodeInfo > > > { > > > public string code; > > > public string number; > > > public string street; > > > public string city; > > > public string province; > > > } > > > > > > public ShowCodes() > > > { > > > this.DisplayGridResult(); > > > } > > > > > > private void DisplayGridResult() > > > { > > > this.InitGrid(); > > > /* > > > * Calculate the size of the grid and the panel based on the > > > * number of rows returned from the search. > > > */ > > > this.gridCodes.Size = new Size(760,200); > > > this.gridCodes.Location = new Point(40, 100); > > > this.gridCodes.Show(); > > > } > > > > > > > > > private void InitGrid() > > > { > > > this.gridCodes = new DataGrid(); > > > > > > this.SetGridStyle(); > > > > > > this.LoadData(); > > > this.gridCodes.DataSource = this.dsCodes; > > > this.gridCodes.Visible = true; > > > this.gridCodes.SelectionForeColor = Color.Red; > > > this.gridCodes.SelectionBackColor = Color.DarkBlue; > > > this.gridCodes.BackColor = Color.White > > > this.gridCodes.ForeColor = Color.Black; > > > this.gridCodes.HeaderForeColor = Color.Black; > > > this.gridCodes.HeaderBackColor = Color.Green; > > > this.gridCodes.Enabled = true; > > > this.gridCodes.Click += new EventHandler(gridCodes_Click); > > > this.gridCodes.Parent = this; > > > this.Controls.Add(this.gridCodes); > > > } > > > > > > private void SetGridStyle() > > > { > > > DataGridTableStyle gridStyle = new DataGridTableStyle(); > > > gridStyle.MappingName = "CodesTable"; > > > > > > // Code Column > > > DataGridTextBoxColumn codeColStyle = new > > > DataGridTextBoxColumn(); > > > codeColStyle.MappingName = "Code"; > > > codeColStyle.HeaderText = "postal_code"; > > > codeColStyle.Width = 80; > > > gridStyle.GridColumnStyles.Add(codeColStyle); > > > // Number Column > > > DataGridTextBoxColumn numberColStyle = new > > > DataGridTextBoxColumn(); > > > numberColStyle.MappingName = "Number"; > > > numberColStyle.HeaderText = "number_range"; > > > numberColStyle.Width = 100; > > > gridStyle.GridColumnStyles.Add(numberColStyle); > > > // Street Column > > > DataGridTextBoxColumn streetColStyle = new > > > DataGridTextBoxColumn(); > > > streetColStyle.MappingName = "Street"; > > > streetColStyle.HeaderText = "street name"; > > > streetColStyle.Width = 300; > > > gridStyle.GridColumnStyles.Add(streetColStyle); > > > // City Column > > > DataGridTextBoxColumn cityColStyle = new > > > DataGridTextBoxColumn(); > > > cityColStyle.MappingName = "City"; > > > cityColStyle.HeaderText = "city"; > > > cityColStyle.Width = 160; > > > gridStyle.GridColumnStyles.Add(cityColStyle); > > > > > > this.gridCodes.TableStyles.Add(gridStyle); > > > } > > > > > > private void LoadData() > > > { > > > this.dsCodes = new DataSet("dataSetCodes"); > > > this.dtCodes = new DataTable("CodesTable"); > > > > > > DataColumn cCode = new DataColumn("Code"); > > > DataColumn cNumber = new DataColumn("Number"); > > > DataColumn cStreet = new DataColumn("Street"); > > > DataColumn cCity = new DataColumn("City"); > > > > > > this.dtCodes.Columns.Add(cCode); > > > this.dtCodes.Columns.Add(cNumber); > > > this.dtCodes.Columns.Add(cStreet); > > > this.dtCodes.Columns.Add(cCity); > > > > > > // Add the dataTable to the dataSet. > > > this.dsCodes.Tables.Add(this.dtCodes); > > > > > > // Get the Results > > > this.GetPostalCodes(); > > > > > > this.dtCodes.Clear(); > > > DataRow dr; > > > > > > // Add the rows of data. > > > for (int i = 0; i < this.resultRows.Length; i++) > > > { > > > dr = this.dtCodes.NewRow(); > > > dr["Code"] = this.resultRows[i].code; > > > dr["Number"] = this.resultRows[i].number; > > > dr["Street"] = this.resultRows[i].street; > > > dr["City"] = this.resultRows[i].city; > > > this.dtCodes.Rows.Add(dr); > > > } > > > } > > > > > > // Hard-coded data > > > private void GetCodes() > > > { > > > this.resultRows = new CodeInfo[2]; > > > > > > this.resultRows[0] = new CodeInfo(); > > > this.resultRows[0].city = "montreal"; > > > this.resultRows[0].code = "A1AS4S"; > > > this.resultRows[0].number = "10-20"; > > > this.resultRows[0].street = "Main Street"; > > > this.resultRows[0].province = "Quebec"; > > > > > > this.resultRows[1] = new CodeInfo(); > > > this.resultRows[1].city = "montreal"; > > > this.resultRows[1].code = "A1AS4S"; > > > this.resultRows[1].number = "20-30"; > > > this.resultRows[1].street = "Main Street"; > > > this.resultRows[1].province = "Quebec"; > > > > > > } > > > } > > > > > > TIA > > > > > > Mark > > > > > > > > > > |