使用visual studio创建数据表

时间:2017-07-12 18:59:13

标签: c# visual-studio datatable visual-studio-2017

我是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调试器没有提取任何内容,所以我知道这不仅仅是语法错误。

1 个答案:

答案 0 :(得分:1)

您创建了一个在UI前端不可见的数据表。如果您使用的是winforms,请将DataGridView添加到主窗体并将其源设置为此数据表。然后,您将拥有数据表的UI。 你可以从Visual Studio Designer中拖放一个DataGridView(假设你将它命名为'mydatagridview'),然后从后面的代码中你可以使用

mydatagridview.DataSource = clientTable; 

您创建的列将反映在DataGridView中。