如何在单击Yes按钮时显示数据表
本文关键字:显示 数据表 按钮 Yes 单击 | 更新日期: 2023-09-27 18:19:06
如何在单击Yes按钮时显示数据表?在我的代码中,表没有显示。
我的代码
DialogResult result1 = MessageBox.Show("Would you like to make changes?",
"Context", MessageBoxButtons.YesNo);
if (result1 == DialogResult.Yes)
{
DataTable dt = new DataTable ();
dt.Columns.Add("Temperature");
dt.Columns.Add("Dimensions");
dt.Columns.Add("Yield Strength");
dt.Columns.Add("Weight");
dt.Columns.Add("Material");
DataRow _salta = dt.NewRow ();
}
if (result1 == DialogResult.No)
{
this.Close();
}
为了快速显示数据表中的数据,您可以创建一个带有DataGridView
的表单。
下面是一个示例,其中假设您有一个填充的 DataTable
,并希望显示其所有数据,即其所有列和行:
Form form = new Form(); // a blank form
DataGridView DGV = new DataGridView(); // a blank DataGridView
DGV.Parent = form; // we add the DGV to the from
DGV.AutoGenerateColumns = true; // to copy all columns from the DataSource
DGV.DataSource = dt; // set the datasource to the table
form.Width = 500; // some size, change to your needs!
DGV.Dock = DockStyle.Fill; // the DGV fills the form
form.ShowDialog(); // we show it as a dialog
您应该至少通过将列宽度设置为合适的值来改进这一点:
DGV.Columns[0].Width = 40;
DGV.Columns[1].Width = 50;
DGV.Columns[2].Width = 75;
// ..
除了单独设置宽度,您还可以使用多种自动模式之一:
DGV.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader;
一定要测试它们,看看是否有一个适合你!!(提示:有时它有助于发挥一些列标题)
以同样的方式,您可能希望为某些列设置一些格式:
DGV.Columns[3].DefaultCellStyle.BackColor = Color.LightSalmon;
DGV.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
DGV.Columns[0].DefaultCellStyle.Format = "#00.00°";
注意,最后一行的数字格式只能工作,如果DataTable
中的Column.DataType
实际上是一个数字类型!要强制执行它,可以使用这样的行:
yourDataTable.Columns[0].DataType = typeof(float);
如果它只用于显示,我们应该将其设置为只读:
DGV.ReadOnly = true;
如果你想把它显示为编辑数据的一种方式,你可能需要更多的代码;在这种情况下,我建议创建一个专用的表单,并编写所有必要的东西,如验证代码、查找、适当的错误消息等。还有一个Cancel
按钮,撤销等等。不过,这已经超出了问题的范围!
对于最简单的编辑需求,所示的解决方案可以工作!
还请注意,编写的问题创建了一个空 DataTable
,其中只有一些列。一定要将表移动到类级别,这样您就可以保存并编辑数据!