lee gold

lee gold

  • NA
  • 3
  • 799

Access dataGridView in a Class Method Where it Does Not have

Sep 29 2014 12:34 PM
I want to access "dataGridView1" inside the method "GetApplicationName" which itself is inside the class "ExternalApplication". (The class and method names are not descriptive) "v" would correspond to a row in "dataGridView1", after casting "v" from string to an int I want to use it to select and highlight a row in that dataview. But inside that method "dataGridView1" is out of scope.  The code cited works so far...I have tried many things but can't get it. Please see code below. Many Thanks.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using MySql.Data.MySqlClient;

namespace houseDB1
{
public partial class Form1 : Form
{
private string server;
private string database;
private string uid;
private string password;
private MySqlConnection connection;

public Form1()
{
InitializeComponent();
webBrowser1.ObjectForScripting = new ExternalApplication();
}

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
}

private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Navigate("127.0.0.1/box3.php");
server = "localhost";
database = "realestate_db";
uid = "root";
password = "";
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
connection = new MySqlConnection(connectionString);
connection.Open();
MySqlDataAdapter mySqlDataAdapter;
mySqlDataAdapter = new MySqlDataAdapter("SELECT `ID`, `lat` , `long` FROM `house` ", connection);
DataSet DS = new DataSet();
mySqlDataAdapter.Fill(DS);
dataGridView1.DataSource = DS.Tables[0];
}

private void webBrowser1_DocumentCompleted_1(object sender, WebBrowserDocumentCompletedEventArgs e)
{
}
[ComVisible(true)]
public class ExternalApplication
{
public void GetApplicationName(string v) // getting values from webbrowser
{
MessageBox.Show("ZZTOP" + v);
//return "The application";
}
}
private void splitContainer1_Panel2_Paint(object sender, PaintEventArgs e)
{
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
}
}