GridView - potatoscript/csharp GitHub Wiki

GridView

Connect with PostgreSQL Get data from PostgreSQL and display on GridView1
DataSet Get data to display on DataGridView

home

Connect-PostgreSQL

  • Read data from PostgreSQL database and display it on GridView
  1. Create a Server class
public class _Server
    {
        public string _database { get; set; }
        private string server_;
        private string port_;
        private string userid_;
        private string password_;
        private string timeout_;
        private string database_;
        public _Server()
        {
            server_     = "localhost";
            port_       = "5432";
            userid_     = "ptr";
            password_   = "ptr";
            database_   = "ptr";

            _database = string.Format("Server = {0};Port = {1};UserId = {2};PassWord = {3};Database={4};Timeout=300;CommandTimeout=300", 
                server_, port_, userid_, password_, database_);
        }
    }
  1. Connect to the Server and read data from the database
 _Server s = new _Server();
 NpgsqlConnection conn = new NpgsqlConnection(s._database);
 conn.Open();
 var sql = "SELECT * FROM TABLE";
 NpgsqlCommand query = new NpgsqlCommand(sql, conn);
 NpgsqlDataReader dr = query.ExecuteReader();
  1. Send the data to the GridView
 _.GridView1.DataSource = dr;
 _.GridView1.DataBind();
  1. Close the connection
 conn.Close();

home

DataSet

  • Popup.cs
   private void myTableObj_Click(object sender, EventArgs e)
   {
      var indices = myTableObj.SelectedIndices[0];
      ListViewItem item = myTableObj.Items[indices];
      Form1 frm = (Form1)this.Owner;
      frm.myid.Text = item.SubItems[1].Text.Trim();
      Data inputdata = new Data(frm.id, frm.date, frm.name);
      frm.datatable.DataSource = inputdata.data;
   }
  • Data.cs
   public object data{get; set;}
   public Data(string id, string date, string name)
   {
      database db = new database();
      NpgsqlConnection conn = new NpgsqlConnection(db.connstring.ToString());
      conn.Open();
      string sql = "SELECT * FROM TABLE WHERE id = '"+id+"' AND date = '"+date+"' AND name = '"+name+"' ";
      NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql,conn);
      conn.Close();

      DataSet ds = new DataSet(); 
      ds.Reset();
      da.Fill(ds);
      data = ds.Tables[0]; 
   }
  • Form1.cs
   private void inputdate_ValueChanged(object sender, EventArgs e)
   {
      Data data = new Data(id.Text,date.Text,name.Text);
      dataTable.DataSource = data.data;

      // only can set the HeaderText after call the database?
      dataTable.Columns[0].HeaderText = "ColName1";
      dataTable.Columns[1].HeaderText = "ColName2";
      dataTable.Columns[2].HeaderText = "ColName3";
   }