单击是按钮时如何显示数据表?在我的代码中,表格没有显示出来。
这是我的代码
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();
}
要快速显示DataTable中的数据,您可以使用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°";
请注意,最后一行的数字格式只有在Column.DataType
中的DataTable
是数字类型时才有效!要强制执行它,您可以使用如下所示的行:
yourDataTable.Columns[0].DataType = typeof(float);
如果仅用于显示,我们应该将其设为只读:
DGV.ReadOnly = true;
如果您希望将其显示为编辑数据的方法,则可能需要更多代码;在这种情况下,我建议创建一个专用的表单和代码所有必要的东西,如验证代码,查找,正确的错误消息等。还有一个Cancel
按钮,撤消和什么不..这是方式beyod问题的范围不过!
对于最简单的编辑要求,所示的解决方案将起作用!
另请注意,所写的问题会创建一个空的DataTable
,仅包含一些列。请将表格移动到类级别,这样您就可以保存并编辑数据!