public class Form1
{
{
...
//negde na pocetku koda
string text="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=baza.mdb";
string upit="SELECT ime, prezime, adresa FROM tabela1";
OleDbConnection veza=new OleDbConnection(text);
veza.Open();
OleDbDataAdapter da=new OleDbDataAdapter(upit, veza);
DataTable dt=new DataTable();/// koristim DataTable
da.Fill(dt);
veza.Close();
dataGrid1.DataSource=dt;
}
public void dataGrid1_DoubleClick(object sender, System.EventArgs e)
{
if(dataGrid1.CurrentRowIndex>=0)
{
Form2 f2=new Form2(this);
f2.ShowDialog();
f2.Dispose();
}
}
public string Naziv
{
get
{
return (dataGrid1[dataGrid1.CurrentRowIndex,0]).ToString();
}
}
}
a u Form2
public class Form2
{
{
public Form2(Form1 parent)
{
this.parent=parent;
InitializeComponent();
Puni();
}
public void Puni()
{
string text="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=baza.mdb";
string upit="SELECT * FROM tabela1 WHERE ime='"+ parent.Naziv +"'";
OleDbConnection veza=new OleDbConnection(text);
......
}
}
i ovde jednostavno dobijem trazeni podatak iz baze.
Problem je sledeci kada hocu da isto to uradim samo preko ID vrednost stavke iz tabela1. A takodje pritom i podesavam izgled grida da se ne vidi vrednost ID.
public class Form1
{
{
...
///negde na pocetku koda
string text="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=baza.mdb";
string upit="SELECT id, ime, prezime, adresa FROM tabela1";
OleDbConnection veza=new OleDbConnection(text);
veza.Open();
OleDbDataAdapter da=new OleDbDataAdapter(upit, veza);
DataSet ds=new DataSet();/// skrecem paznju da sam ovde upotrebio DataSet
da.Fill(ds, "tabela1");
veza.Close();
DataGridTableStyle tstyle=new DataGridTableStyle();
tstyle.MappingName="glavna2";
dataGrid1.TableStyles.Clear();
dataGrid1.TableStyles.Add(tstyle)
dataGrid1.DataSource=ds.Tables["glavna2"];
///dalje ide podesavanje sirine kolona(e)
AutoSCol(0, 0); ///gde za prvu kolonu id stavljam vrednost 0 kako se ne bi videla
}
public void AutoSCol(int col, int width)
{
///kod koji to odradjuje
}
public void dataGrid1_DoubleClick(object sender, System.EventArgs e)
{
if(dataGrid1.CurrentRowIndex>=0)
{
Form2 f2=new Form2(this);
f2.ShowDialog();
}
}
public int ID
{
return /// ??? ovde nastaje problem prosledjivanja kliknute kolone prema Form2
/// naglasavam da je vrednost id u tabela1 tipa AutoNumber
}
public class Form2
{
{
public Form2(Form1 parent)
{
this.parent=parent;
InitializeComponent();
Puni();
}
public void Puni()
{
string text="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=baza.mdb";
string upit="SELECT * FROM tabela1 WHERE id='"+ parent.ID +"'";
OleDbConnection veza=new OleDbConnection(text);
......
}
}
Pokusavao sam to na sve nacine kako bi radilo kao u primeru 1 ali nista.
Nadam se da je pitanje dovoljno jasno i da nisam propustio nista bitno od koda. Hvala unapred na pomoci.