如何在单击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();
}

如何在单击Yes按钮时显示数据表

为了快速显示数据表中的数据,您可以创建一个带有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,其中只有一些列。一定要将表移动到类级别,这样您就可以保存并编辑数据!