私は現在、Flexgrid を使用する Vb6 アプリを C# にアップグレードする作業を行っています。要件の 1 つは、ユーザーがデータを入力するバインドされたデータの最後に、いくつかの動的に追加された列を追加することです。
現在、AllowEditing はグリッド全体で有効になっており、いくつかのことをテストできるようになっています。編集している列がバインドされた列の 1 つである場合、グリッド上でプログラムまたは手動でデータを操作できることがわかりました。 、ただし、バインドされていない列の1つを編集しようとすると、値を入力でき、セルを離れるとすぐに消えます。
これは、動的列を追加してデータを設定したコードです。
foreach (var O in Orders)
{
if (!AddedOrders.Contains(O.L.Order))
{
c1FlexGrid1.Cols.Add(2);
c1FlexGrid1.Cols[c1FlexGrid1.Cols.Count - 2].Caption = "Cus " + (AddedOrders.Count + 1).ToString();
c1FlexGrid1.Cols[c1FlexGrid1.Cols.Count - 2].Name = "Cus " + (AddedOrders.Count + 1).ToString();
c1FlexGrid1.Cols[c1FlexGrid1.Cols.Count - 2].DataType = typeof(string);
c1FlexGrid1.Cols[c1FlexGrid1.Cols.Count - 1].Caption = "Qty " + (AddedOrders.Count + 1).ToString();
c1FlexGrid1.Cols[c1FlexGrid1.Cols.Count - 1].Name = "Qty " + (AddedOrders.Count + 1).ToString();
c1FlexGrid1.Cols[c1FlexGrid1.Cols.Count - 1].DataType = typeof(int);
bool Res = c1FlexGrid1.SetData(1, c1FlexGrid1.Cols.Count - 2, O.C.Company, true);
c1FlexGrid1.SetData(2, c1FlexGrid1.Cols.Count - 2, O.L.Order, true);
c1FlexGrid1.SetData(3, c1FlexGrid1.Cols.Count - 2, O.L.Confirmed, true);
c1FlexGrid1.SetData(4, c1FlexGrid1.Cols.Count - 2, O.L.Variety, true);
c1FlexGrid1.SetData(1, c1FlexGrid1.Cols.Count - 1 , 0);
CustCols.Add(c1FlexGrid1.Cols.Count - 2);
AddedOrders.Add(O.L.Order);
}
}
私が追加した bool は、関数が true を返すことをテストすることでした。これは、コードに関する限り、値の設定に成功したかのように見えます。
つまり、バインドされたFlexgridでバインドされていない列の編集を許可するにはどうすればよいですか?