DataTabela da mi vrati ime kolone koja odgovara proizvoljnom indexu
i zatim pokusam da na osnovu tog dobijenog imena kolone postavim
DataView na Tabelu,PONEKAD,ne uvek dobijam exception koji
kaze da kolona sa trazenim imenom ne postoji
Mislio sam da je problem u tipovima kolona i
operatoru LIKE,a ali to nije u pitanju. Ne
postoji pravilo. Ovaj kod ponekad dbro radi i obezbedi filtriranje podataka
koje zelimo, a ponekad ne. Bez obzira na tip kolone.
KORISTIM .net Framework 1.1
Code:
DataGridCell Celija= dataGrid2.CurrentCell;
if(Celija.ColumnNumber>-1 && Celija.RowNumber>-1)
{
int iBrojSelectovaneKolone=Celija.ColumnNumber;
int iBrojSelectovanogReda=Celija.RowNumber;
bool bKonverzijaOk=true;
DataTable tb_Tabela1;
try
{
tb_Tabela1=dsTabela.Tables[Form1.StringTableInUse];
}
catch
{
bKonverzijaOk=false;
}
if(bKonverzijaOk==true && iBrojSelectovaneKolone<tb_Tabela1.Columns.Count)
{
DataRow SelectovaniRed=tb_Tabela1.Rows[iBrojSelectovanogReda];
String strSelectovaniSadrzaj=Convert.ToString(SelectovaniRed[iBrojSelectovaneKolone]);
String strImeSelectovaneKolone=tb_Tabela1.Columns[iBrojSelectovaneKolone].ColumnName;
try
{
tb_Tabela1.DefaultView.RowFilter=strImeSelectovaneKolone+" LIKE " +"'"+strSelectovaniSadrzaj+"'";
dataGrid2.DataSource=tb_Tabela1;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message,"");
}
}
}
DataGridCell Celija= dataGrid2.CurrentCell;
if(Celija.ColumnNumber>-1 && Celija.RowNumber>-1)
{
int iBrojSelectovaneKolone=Celija.ColumnNumber;
int iBrojSelectovanogReda=Celija.RowNumber;
bool bKonverzijaOk=true;
DataTable tb_Tabela1;
try
{
tb_Tabela1=dsTabela.Tables[Form1.StringTableInUse];
}
catch
{
bKonverzijaOk=false;
}
if(bKonverzijaOk==true && iBrojSelectovaneKolone<tb_Tabela1.Columns.Count)
{
DataRow SelectovaniRed=tb_Tabela1.Rows[iBrojSelectovanogReda];
String strSelectovaniSadrzaj=Convert.ToString(SelectovaniRed[iBrojSelectovaneKolone]);
String strImeSelectovaneKolone=tb_Tabela1.Columns[iBrojSelectovaneKolone].ColumnName;
try
{
tb_Tabela1.DefaultView.RowFilter=strImeSelectovaneKolone+" LIKE " +"'"+strSelectovaniSadrzaj+"'";
dataGrid2.DataSource=tb_Tabela1;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message,"");
}
}
}