Hi, I am developing a WPF browser application using Linq and your datagrid but I am having major problems trying to delete a record. From looking through various forums and your help I have got to the point where I can retrieve the data usning LINQ and settign the result as the DataSource. I can add a record fine but whenit comes to deleteing I just cant seem to tie it togther. A number of forums have suggesed that once you know what records you need to delete you query it from teh database using LINQ then plase the result into a DeleteOnSubmit command. So I have the following code:
private void datagridMapping_RecordsDeleting(object sender, Infragistics.Windows.DataPresenter.Events.RecordsDeletingEventArgs e)
{
DataCentreDataContext dsMapping = new DataCentreDataContext();
foreach (var rec in datagridMapping.SelectedItems.Records)
try
var mappingres =
from mappingItem in dsMapping.DATAMAPPINGs
where mappingItem.INDEX == rec.???????????????
select mappingItem;
DATAMAPPING delRecord = new DATAMAPPING();
delRecord = (DATAMAPPING)mappingres;
dsMapping.DATAMAPPINGs.DeleteOnSubmit(delRecord);
}
catch (Exception ex)
MessageBox.Show("Error", "Error - " + ex.Message);
dsMapping.SubmitChanges();
I have placed ?????? where I am having the trouble. I guess I may have this very wrong so any help would be very much appreciated.
Regards,
Kevin.
sorry, but can u give me the example for vb version?
thanks, rey
PS. I also tried to get some ideas from the feature browser but the EditorStyle could not allow a Combobox.
I am not sure if I am getting any closer but here goes:
I have the following CellValuePresenter code:
<Style TargetType="{x:Type igDP:CellValuePresenter}" x:Key="Fkt">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
<ComboBox ItemsSource="{Binding Path=scncodes}" IsSynchronizedWithCurrentItem="True" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
I have placed this in the field settings:
<igDP:Field IsScrollTipField="True" Name="SCNCODE">
<igDP:Field.Settings>
<igDP:FieldSettings CellMinWidth="200" CellWidth="200" CellValuePresenterStyle="{StaticResource Fkt}" />
</igDP:Field.Settings>
</igDP:Field>
And scncodes is populated in code behind:
var scncodes = (from scncode in dsMapping.DATAMAPPINGs
select scncode.MEASUREMENT).Distinct();
I get the combobox on the grid but its empty.
I created a combobox on another part of the page and set the item source to the scncodes to check the query and that worked fine.
I then created a combobox in code but could not figure a way to reference it in XAML in the CellValuePresenter.
At this point I am stuck and not sure which way to go. If there are any sample out there I could get some idea from I would be very much obliged
Cheers,
Kevin,
It looks like that when setting the ItemsSource property of the ComboBox, you are setting it to a string, which is an array of chars and that is why each char is considered a different item. Is the SCNCODE field of type collection or string? If string, this is the expected behavior. If you want to display something else (data outside the datasource of the XamdataGrid), you have to make this field unbound, and bind the ItemsSource property of the ComboBox to a collection (and set DisplayMemberPath and ValuePath properties).
You can see some example of how to bind data to a XamComboEditor in the FeatureBrowser, which is similar to what you want to do with the ComboBox. The examples are under XamDataGrid - Control Composition - XamComboEditor in DataRecord Cell.
Hi,
I got the selection from the treeview working as you suggested...many thanks :-)
As for the combobox, I have placed a (standard) combobox in a Datagrid with the intention to allow the user to either edit the value or when creating a new record select a value. Therefore for each existing row the cell should show the current value but when clicked show a list form a different source.
The style code looks like this
<Page.Resources>
<ComboBox ItemsSource="{TemplateBinding Content}" IsSynchronizedWithCurrentItem="True" />
</Page.Resources>
The implementation look like this
My first problem the cell only shows the first character then when you click on it the rest of the characters drop down on each row.
My next problem is how do I bind a different dataset to the combobox so the user can select from the list
Sorry if this seems like a newbie question.