我是C#noob,所以如果我做了一些愚蠢的事,请告诉我(这是我第一次使用它)。
我正在使用Visual Studio 2017为我的公司数据库创建一个非常简单的前端,该数据库之前只保存在许多excel文件中。但是我在创建数据表时遇到了问题,我现在所拥有的是:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ClientEmployer_FE
{
public partial class Form1 : Form
{
private System.Data.DataSet dtSet;
public Form1()
{
InitializeComponent();
CreateTable();
}
private void CreateTable()
{
System.Data.DataTable clientTable = new DataTable("clientTable");
DataColumn dtCol;
DataRow myDataRow;
//First Name Column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "firstName";
dtCol.Caption = "First Name";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
//Last Name Column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "lastName";
dtCol.Caption = "Last Name";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
//Disability Column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "disability";
dtCol.Caption = "Disability";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
//Skills Column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "skills";
dtCol.Caption = "Relevant Skills";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
//Goals Column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "goals";
dtCol.Caption = "Job Goals";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
//PT/FT column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "ptOrft";
dtCol.Caption = "PT/FT";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
//availibility column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "avail";
dtCol.Caption = "Shift Availibility";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
//location column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "location";
dtCol.Caption = "Job Location";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
//transport column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "transport";
dtCol.Caption = "Transportation";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
//accommodations column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "accom";
dtCol.Caption = "Accommodations";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
//bilingual column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "biling";
dtCol.Caption = "Bilingual";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
//OPP column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "opp";
dtCol.Caption = "OPP Eligable";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
//JD supports column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "jdSupp";
dtCol.Caption = "JD Supports";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
//Notes column
dtCol = new DataColumn();
dtCol.DataType = System.Type.GetType("System.String");
dtCol.ColumnName = "notes";
dtCol.Caption = "Notes";
dtCol.ReadOnly = false;
dtCol.Unique = false;
clientTable.Columns.Add(dtCol);
dtSet = new DataSet("Clients");
dtSet.Tables.Add(clientTable);
//test row
myDataRow = clientTable.NewRow();
myDataRow["firstName"] = "John";
myDataRow["lastName"] = "Snow";
myDataRow["disability"] = "ASD";
myDataRow["skills"] = "tactical thinking";
myDataRow["goals"] = "office";
myDataRow["ptOrft"] = "FT";
myDataRow["avail"] = "always";
myDataRow["location"] = "foo";
myDataRow["transport"] = "car";
myDataRow["accom"] = "N/A";
myDataRow["biling"] = "yes";
myDataRow["opp"] = "no";
myDataRow["jdSupp"] = "no";
myDataRow["notes"] = "is awesome";
clientTable.Rows.Add(myDataRow);
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
现在,当我打开此代码时,当我浏览到该页面时,我只会遇到一个空白表单。是否有一段代码我不知道实际绘制表格? Visual Studio调试器没有提取任何内容,所以我知道这不仅仅是语法错误。
答案 0 :(得分:1)
您创建了一个在UI前端不可见的数据表。如果您使用的是winforms,请将DataGridView添加到主窗体并将其源设置为此数据表。然后,您将拥有数据表的UI。 你可以从Visual Studio Designer中拖放一个DataGridView(假设你将它命名为'mydatagridview'),然后从后面的代码中你可以使用
mydatagridview.DataSource = clientTable;
您创建的列将反映在DataGridView中。