[Problema] Silverlight C#

00gabriel

Membro
Boa tarde! é a primiera vez que escrevo ca, vou tentar fazer-m entender!

tenho uma base dados e fiz a ligação entre o silverlight atraves do serviço ADO.net

Tenho uma datagrid para mostrar os dados da tabela iniciativa da base de dados:


<Grid Grid.ColumnSpan="1" Grid.Row="1">
<sdk:DataGrid AutoGenerateColumns="False" ItemsSource="{Binding ElementName=iNICIATIVADomainDataSource, Path=Data}" Name="iNICIATIVADataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" Loaded="ddddddddd">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn x:Name="iNI_IDColumn" Binding="{Binding Path=INI_ID, Mode=OneWay}" Header="ID" IsReadOnly="True" Width="SizeToHeader" />
<sdk:DataGridTextColumn x:Name="iNI_NOMEColumn" Binding="{Binding Path=INI_NOME}" Header="Nome" Width="SizeToHeader" />
<sdk:DataGridTextColumn x:Name="iNI_AtlIDColumn" Binding="{Binding Path=INI_AtlID}" Header="Atlier" Width="SizeToHeader" />
<sdk:DataGridTextColumn x:Name="iNI_ResIDColumn" Binding="{Binding Path=INI_ResID}" Header="Responsavel" Width="SizeToHeader" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
</Grid>


<riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:INICIATIVA, CreateList=true}" Height="0" LoadedData="iNICIATIVADomainDataSource_LoadedData" Name="iNICIATIVADomainDataSource" QueryName="GetINICIATIVAsQuery" Width="0">
<riaControls:DomainDataSource.FilterDescriptors>
<riaControls:FilterDescriptor Operator="IsEqualTo" PropertyPath="INI_Activo" Value="0" />
</riaControls:DomainDataSource.FilterDescriptors>
<riaControls:DomainDataSource.DomainContext>
<my:servico_db />
</riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>



Como podem ver no riaControl tenho um filtro que apenas me coloca na datagrid todos os campos da tabela que possuam o valor INI_Activo=0

ao carregar num botao aparece uma childwindows para inserir um novo registo na tabela!

ao clicar no botao "ok" da childwindows, o registo é inserido, mas a datagrid n é actulizada, como faço para actualizar, usar datagrid.itemsource ta fora de questão pois anula o filtro do riacontrol!

codigo da childwindows para registar e do botao "ok":

servico_db servico = new servico_db(); //domainservice
Act_Gerir_act x = new Act_Gerir_act(); //outra childwindows
Actividades act = new Actividades(); //pagina onde esta a datagrid

private void OKButton_Click(object sender, RoutedEventArgs e)
{
INICIATIVA nova = new INICIATIVA();

nova.INI_NOME = iNI_NOMETextBox.Text;
nova.INI_ResID = servico.RESPONSAVELs.ElementAt(rES_NomeComboBox.SelectedIndex).RES_ID;
nova.INI_AtlID = servico.ATLIERs.ElementAt(aTL_NOMEComboBox.SelectedIndex).ATL_Id;

if (CB_Activar.IsChecked == false)
{
nova.INI_Activo = 0;
servico.INICIATIVAs.Add(nova);
servico.SubmitChanges();

Close();

}
else if (CB_Activar.IsChecked == true)
{
nova.INI_Activo = 1;
servico.INICIATIVAs.Add(nova);
servico.SubmitChanges();

Close();
x.Show();

x.atl.Content = nova.INI_AtlID.ToString();
x.Act.Content = nova.INI_NOME;
x.resp.Content = nova.INI_ResID.ToString();

}

Close();


}


alguem me pode ajudar???desde já peço desculpa pelo longo post... Obrigado!<br><br><br>
 
Última edição:
Back
Topo