Da ich über Ihren Code vermuten kann, dass Sie gridView.GetRowCellValue(rowHandle, "Confirm")
werfen Wert auf ungültigen Typ zurückgegeben. Ändern Sie die untere Zeile mit dem Operator as
.
CheckedListBoxItem confirms =(CheckedListBoxItem)(gridView.GetRowCellValue(rowHandle, "Confirm"));
zu
CheckedListBoxItem confirms = gridView.GetRowCellValue(rowHandle, "Confirm") as CheckedListBoxItem;
if(confirms != null){}
Nachdem ich, dass Sie wissen, was das Ergebnis zu debuggen ist.
Wie ich, dass Editor sehen können mit der Säule angebracht ist Confirm
dann werden Sie das Ergebnis von gridView.GetRowCellValue()
erhalten ist Id
Eigenschaftswert des User
Klasse nicht die CheckedListBoxItem
.
Wenn Sie die gridView.CloseEditor();
aufrufen, dann ist der Editor nicht vorhanden, um das CheckedListBoxItem zu erhalten. Sie können den Editor unter ColumnView.ShownEditor Event aufrufen. Siehe unten stehenden Code-Schnipsel:
private void MainForm_Load(object sender, EventArgs e) {
this.PhonesSource.DataSource = DataContext.GetPhones();
this.CountriesSource.DataSource = DataContext.GetCountries();
this.CitiesSource.DataSource = DataContext.GetAllCities();
}
private void GridView_ShownEditor(object sender, EventArgs e) {
ColumnView view = (ColumnView)sender;
if (view.FocusedColumn.FieldName == "CityCode") {
LookUpEdit editor = (LookUpEdit)view.ActiveEditor;
string countryCode = Convert.ToString(view.GetFocusedRowCellValue("CountryCode"));
editor.Properties.DataSource = DataContext.GetCitiesByCountryCode(countryCode);
}
}
// In certain scenarios you may want to clear the secondary editor's value
// You can use the RepositoryItem.EditValueChanged event for this purpose
private void CountryEditor_EditValueChanged(object sender, EventArgs e) {
this.GridView.PostEditor();
this.GridView.SetFocusedRowCellValue("CityCode", null);
}
private void MainForm_Load(object sender, EventArgs e) {
this.PhonesSource.DataSource = DataContext.GetPhones();
this.CountriesSource.DataSource = DataContext.GetCountries();
this.CitiesSource.DataSource = DataContext.GetAllCities();
}
private void GridView_ShownEditor(object sender, EventArgs e) {
ColumnView view = (ColumnView)sender;
if (view.FocusedColumn.FieldName == "CityCode") {
LookUpEdit editor = (LookUpEdit)view.ActiveEditor;
string countryCode = Convert.ToString(view.GetFocusedRowCellValue("CountryCode"));
editor.Properties.DataSource = DataContext.GetCitiesByCountryCode(countryCode);
}
}
Hope this Hilfe ..
was speichern Sie in der "Bestätigen" Spalte ?? wie ich aus der Datenquelle der Liste sehen kann. Es sollte einen ähnlichen Datentyp haben wie die Id-Eigenschaft von User. –
@NiranjanKala was heißt das? Ich habe in der Frage –