Eine nicht behandelte Ausnahme des Typs 'System.StackOverflowException " ist in mscorlib.dll Fehler aufgetreten?

Bin immer Fehler Ungebundenen Ausdruck. Ich habe eine neue Spalte & Unbounded-Ausdrucks zur Laufzeit. Ich bekomme in einer Zelle Werte(GetRowCellValue) von gridview und versuchen zu ändern, dass die ungebundenen Ausdrucks die Spalte mit neuen Werten(SetRowCellValue). Aber Fehler angezeigt, was ist mein Fehler ? Helfen Sie mir.

Dies ist mein Code.

private void unbound2_Load(object sender, EventArgs e)
    {
        //TODO: This line of code loads data into the 'orionSystemDataSet.Test_Product' table. You can move, or remove it, as needed.
        this.test_ProductTableAdapter.Fill(this.orionSystemDataSet.Test_Product);
        //TODO: This line of code loads data into the 'orionSystemDataSet.Test_Gridview' table. You can move, or remove it, as needed.
        this.test_GridviewTableAdapter.Fill(this.orionSystemDataSet.Test_Gridview);


        var product = repositoryItemGridLookUpEdit1.View.Columns.AddField("Type");
        product.Visible = true;


        //create unbound column in form load
        unboundcreate();

    }

    private void unboundcreate()
    {
        gridControl1.ForceInitialize();

        GridColumn unbColumn = gridView1.Columns.AddField("PriceQuantity");
        unbColumn.Caption = "PricQuan";
        unbColumn.VisibleIndex = gridView1.Columns.Count;
        unbColumn.UnboundType = DevExpress.Data.UnboundColumnType.Decimal;
        unbColumn.OptionsColumn.AllowEdit = false;
        unbColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
        unbColumn.DisplayFormat.FormatString = "c";
        unbColumn.AppearanceCell.BackColor = Color.LemonChiffon;
        unbColumn.UnboundType = DevExpress.Data.UnboundColumnType.Decimal;
        unbColumn.UnboundExpression = "[Quantity] * [Each]";

    }

Code ein, um den Wert & Sollwert

 private void gridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
    {

            GridView view = sender as GridView;


            if (e.Column.FieldName == "PriceQuantity" && e.IsGetData)
            {
                //e.Value = getTotalValue(view, e.ListSourceRowIndex);
                calfun();
            }
            else
            {
                //nothing
            }

    }


    private void calfun()
    {
        if (gridView1.FocusedRowHandle >= 1)
        {

            string temp = "Discount";
            //string dis = TXE_Gettype.Text.ToString();
            object objec = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["Type"]);
            string dis = objec.ToString();

            if (dis == temp)
            {
                object obj = gridView1.GetRowCellValue(gridView1.FocusedRowHandle - 1, gridView1.Columns["Each"]);

                int aa = Convert.ToInt32(obj);
                //textEdit1.Text = aa.ToString();

                object obj1 = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["Each"]);

                int a = Convert.ToInt32(obj1);
                int b = aa;

                int c = a * b;

                //textEdit2.Text = c.ToString();

                gridView1.SetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["PriceQuantity"], c);
            }
        }
        else
        {
            }
    }

Mir Bitte helfen ich will get & Sollwert

  • Meine Vermutung ist, dass es ist Ihr Anruf, um gridView1.SetRowCellValue verursacht gridView1_CustomUnboundColumnData Ereignis genannt zu werden
  • Hallo Jens, Wenn ich ändern SetRowCellValue zu gridView1_CustomUnboundColumnData es zeigt Fehler wie "Die CustomUnboundColumnData Ereignis kann erscheint nur Links von += oder =+ "
  • ja ofc 😀 hehe, warum sollte man das tun? anstelle der Verwendung von gridView1... versuchen und sehen, ob die e variable kann verwendet werden, statt..
  • Hallo Jens, 😀 Bin neu in c#, das ist, warum.... Keine e. ist der dort nicht arbeitet, weil es draußen ist, die Funktion also.
  • Sicher, "e" ist außerhalb von "calfun"... aber du musst es als argument, oder bewegen Sie Ihren code in die Ereignisprozedur. Ihre "calfunc", da es nicht sauber.
InformationsquelleAutor Srihari | 2013-11-25
Schreibe einen Kommentar