[ apolon10 @ 26.04.2006. 13:55 ] @
Na jednoj formi imam datagridview i button "search" tj. jednostavnu formu za pretrazivanje koja za zadati string vraca redove u datasetu koji zadovoljavaju upit. ali oni se prikazuju u messagebox-u. Ono sto zelim da uradim je da te redove nekako oznacim u samom datagridview, bilo da ih selektujem ili promenim boju fonta ili background color.
ima li neko ideju?
Hvala !
[ silthereen @ 26.04.2006. 16:03 ] @
Ubaci kod, pa da vidimo sta se tu moze uraditi.
[ apolon10 @ 26.04.2006. 18:21 ] @
evo forme za pretrazivanje, to child OD forme koja sadrzi datagridview i ima promenjive koje pokazuju na dataset i datagridview.

private void button1_Click(object sender, EventArgs e) //button trazi
{
string search = "clainId";
string searchString = "";

if (radioButton1.Checked)
search="clainId";

if(radioButton2.Checked)
search="ime";

if (radioButton3.Checked)
search = "adresa";

if (textBox1.Text.Length != 0)
searchString = textBox1.Text;

//napravi konekciju
OleDbConnection thisConnection = new OleDbConnection(@"Provider=Microsoft.jet.OLEDB.4.0;Data Source=d:\begcsharp\videoklub\videoklub\video.mdb");

//otvori vezu
thisConnection.Open();

// kreiraj instancu komande
OleDbCommand thisCommand = thisConnection.CreateCommand();

//definisi sta radi komanda
thisCommand.CommandText = "SELECT * FROM clanovi";

//napravi adapter
OleDbDataAdapter thisAdapter = new OleDbDataAdapter(thisCommand);

//napravi commandbuilder
OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(thisAdapter);

//napravi dataset i prebaci tabelu clanovi u data set
DataSet thisDataSet = new DataSet();

thisAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
thisAdapter.Fill(thisDataSet, "clanovi");

foreach(DataRow tempRow in thisDataSet.Tables["clanovi"].Rows)
{

if (tempRow[search].ToString() == searchString)
{


// Ovde bi nesto trebalo da se preduzme :)

}
}

//zatvori vezu
thisConnection.Close();
}



}
[ silthereen @ 26.04.2006. 23:27 ] @
Ne razumem zašto jednostavno nisi stavio binding sa dataset-om na dataGrid i uz pomoć SQL upita izfiltrirao redove.
Recimo da imaš Konekciju (Con), Adapter(AD) i dataSet(DS) koji su povezani medjusobno i dataGrid koji je povezan na dataSet(DS).

Code:

private void button1_Click(object sender, EventArgs e) //button trazi
{

DS.Clear();


if (radioButton1.Checked)

   AD.SelectCommand.CommandText="SELECT * FROM tabela WHERE clanId = "  + txtSearch.text ;
}

if(radioButton2.Checked)
{
   AD.SelectCommand.CommandText="SELECT * FROM tabela WHERE ime LIKE "  + txtSearch.text  + "%" ;
}

if (radioButton3.Checked)
{
   AD.SelectCommand.CommandText="SELECT * FROM tabela WHERE adresa LIKE "  + txtSearch.text  + "%" ;
}


AD.Fill(DS,"tabela");

}






[Ovu poruku je menjao silthereen dana 27.04.2006. u 00:27 GMT+1]
[ apolon10 @ 27.04.2006. 11:59 ] @
dataset i datagrid mogu da koristim, ali dataGridView koristi druge metode za punjenje i prikazivanje dataseta pa se nisam snasao
[iz designer - a]
.
.
.
// clanoviBindingSource
//
this.clanoviBindingSource.DataMember = "clanovi";
this.clanoviBindingSource.DataSource = this.dataSet1;
//
// dataSet1
//
this.dataSet1.DataSetName = "DataSet1";
this.dataSet1.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
.
.
.