[ marko v @ 01.06.2005. 19:23 ] @
kako da se riješim duplikata u comboBoxu? imam dataGrid i comboBox povezane na isti dataset.

pokušao sa sa stvaranjem novog dataAdaptera i dataseta sa Select Distinct

i to mi radi kada postavim dataView.RowFilter="ImeStupca= '"+comboBox.Text+"'"
pa dataGrid.DataSource = dataView.

ali kako da mi radi da mi u dataGridu budu svi redovi, a u comboBoxu bez duplikata.
pretpostavljam da to mora ići preko istog dataseta ,ali kako?
[ vekica @ 02.06.2005. 19:18 ] @
ja iteme u combo box dodajem u jednoj metodi koja radi sledecu stvar
foreach unos(=red,record) u datom datasetu uradi combobox.items.add()

e sada ovo ti je zgodno jer mozes da napises u ovakvoj metodi kod koji ce ti pronalaziti iste iteme, pa tek onda da ih ubacis.

obrati paznju da ovu metodu moras da pozoves npr u form_Load dogadjaju pa posle kad god menjas neki podatak u datasetu moras da je pozoves

e sad koliko ce ti ovo resenje usporiti aplikaciju, to je pravo pitanje.

poz i obavezno napisi resenje kad zavrsis
[ marko v @ 03.06.2005. 00:15 ] @
private DataTable SelectDistinct(DataTable sourceTable, string sourceColumn)
{
DataTable result = null;
try
{
result = new DataTable();
result.Columns.Add(sourceColumn, sourceTable.Columns[sourceColumn].DataType);
Hashtable ht = new Hashtable();
foreach (DataRow dr in sourceTable.Rows)
{
if (!ht.ContainsKey(dr[sourceColumn]))
{
ht.Add(dr[sourceColumn], null);
DataRow newRow = result.NewRow();
newRow[sourceColumn] = dr[sourceColumn];
result.Rows.Add(newRow);
}
}
return result;
}

finally
{
if (result != null)
result.Dispose();
}
}





private void Form1_Load(object sender, System.EventArgs e)
{



this.dtx = new DataTable("Uloga");
dtx.Columns.Add("GlavnaUloga");
dtx = this.film1.Tables[0];


this.comboBox1.DataSource = SelectDistinct(dtx,"GlavnaUloga");


}

sad sam filtrirao duplikate.al kako sad povezati dataset(film1) koji puni dataGrid i ovu tabelu(dtx) koja puni combobox da kad se pomičem po podatcima u comboBoxu da me
isto prati na dataGridu