Ik heb een heel irritant probleem, dat waarschijnlijk een heel eenvoudige oplossing heeft. Ik heb hier al ettelijke uren naar oplossingen gezocht, maar heb nog nergens hetzelfde probleem teruggevonden.
Bij het editen van een textboxcolumnstyle-cel in mijn datagrid, wordt de nieuw ingegeven waarde niet teruggepost naar de cell-waarde van de datagrid. Het bizarre is echter, dat ik enkele custom columnstyles gemaakt heb, en hierbij lukt de update van de cell wel.
Ik heb de volgende zaken uitgeprobeerd :
- Methode SetDataBinding van het datagrid gebruikt (met dataset,tablename).
- Properties Datasource en DataMember rechtstreeks aangepast (dataset, tablename).
- datatable rechtstreeks gekoppeld aan datasource.
- de standaard GridTableStyle gebruikt (dus het kan niet aan de gridtablestyle liggen)
- in plaats van table een editable view gemaakt, en die gekoppeld...
Ik wordt echt desperate..
ik veronderstel dat mijn probleem ligt bij het ophalen van de dataset of koppelen van het datagrid, vandaar het stukje relevante code :
Het gaat dus NIET over het saven van de changes naar de database, hierover heb ik info genoeg, maar over de update van het datagrid zelf...
Bij het editen van een textboxcolumnstyle-cel in mijn datagrid, wordt de nieuw ingegeven waarde niet teruggepost naar de cell-waarde van de datagrid. Het bizarre is echter, dat ik enkele custom columnstyles gemaakt heb, en hierbij lukt de update van de cell wel.
Ik heb de volgende zaken uitgeprobeerd :
- Methode SetDataBinding van het datagrid gebruikt (met dataset,tablename).
- Properties Datasource en DataMember rechtstreeks aangepast (dataset, tablename).
- datatable rechtstreeks gekoppeld aan datasource.
- de standaard GridTableStyle gebruikt (dus het kan niet aan de gridtablestyle liggen)
- in plaats van table een editable view gemaakt, en die gekoppeld...
Ik wordt echt desperate..
ik veronderstel dat mijn probleem ligt bij het ophalen van de dataset of koppelen van het datagrid, vandaar het stukje relevante code :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| public OleDbDataAdapter GetData(CoreGrid coregrid) {
//fill grid
string table=coregrid.TableName;
string where=coregrid.WhereClause;
OleDbDataAdapter oDa = new OleDbDataAdapter();
if ((this.Open()==false) || (table==null)) {
return oDa;
}
try {
string extwhere=ExtendWhereForParentGrid(table,coregrid.ParentGrid,where);
oDa=FillDataSet(table,extwhere);
} catch (System.Exception e) {
MessageBox.Show("GetData: "+e.ToString());
}
// coregrid.DataGrid.DataSource=dataSet;
// coregrid.DataGrid.DataMember=table;
coregrid.DataGrid.DataSource=dataSet.Tables[table];
// coregrid.DataGrid.SetDataBinding(dataSet,table);
return oDa;
}
private OleDbDataAdapter FillDataSet(string table,string where) {
string s=TranslateMappingToTable(table);
string sql="select * from [";
sql+=s+"]";
if (where!="") {
sql+=" WHERE " + where;
}
//MessageBox.Show("Execute sql : "+sql);
OleDbDataAdapter oDa = new OleDbDataAdapter(sql, oleDbConn);
if (dataSet.Tables.Contains(table)) {
dataSet.Tables.Remove(table);
}
oDa.Fill(dataSet,table);
return oDa;
} |
Het gaat dus NIET over het saven van de changes naar de database, hierover heb ik info genoeg, maar over de update van het datagrid zelf...