【问题标题】:Get Data from GridView to RdotNet (R.net)从 GridView 获取数据到 RdotNet (R.net)
【发布时间】:2017-07-10 15:32:58
【问题描述】:

我的任务很简单,我只想从 gridview 获取数据到 REngine 做随机函数取回行并将它们显示在 gridview 中,我试过了

            TextBox_Ville.Text = "I'm here";
            DataTable dtb = (DataTable)Session["Grid"];
            REngine engine = REngine.GetInstance();
            string[,] stringData = new string[dtb.Rows.Count, dtb.Columns.Count];
            for (int row = 0; row < dtb.Rows.Count; row++)
            {
                for (int col = 0; col < dtb.Columns.Count; col++)
                {
                    stringData[row, col] = dtb.Rows[row].ItemArray[col].ToString();
                }
            }
            CharacterMatrix matrix = engine.CreateCharacterMatrix(stringData);
            engine.SetSymbol("myRDataFrame", matrix);
            engine.Evaluate("myRDataFrame <- as.data.frame(myRDataFrame, stringsAsFactors = FALSE)");
            //   engine.Evaluate("str(myRDataFrame)");
            DataFrame dataset = engine.Evaluate("myRDataFrame[sample(nrow(myRDataFrame), 1), ]").AsDataFrame();

            DataTable dtt = new DataTable();
            for (int i = 0; i < dataset.ColumnCount; ++i)
            {
                dtt.Columns.Add(new DataColumn(dataset.ColumnNames[i]));
            }

            for (int i = 0; i < dataset.RowCount; ++i)
            {
                var row = dtt.NewRow();

                for (int k = 0; k < dataset.ColumnCount; ++k)
                {
                    row[dataset.ColumnNames[k]] = dataset[i, k];
                }

                dtt.Rows.Add(row);
            }

            GridView1.DataSource = dtt;
            GridView1.DataBind();

但是它给了我 Stackoverflow 错误,任何人都可以帮忙。谢谢:)

【问题讨论】:

  • 如果你把它重写为一个独立的例子,社区提供帮助会更容易。我无法按原样运行您的代码,也不知道它在哪一行失败。

标签: sql asp.net .net r.net


【解决方案1】:

我看到您在构建 DataTable 时省略了类型。也许这就是问题所在?

dtt.Columns.Add(new DataColumn(dataset.ColumnNames[i], typeof(string)));

我注意到的另一件事是,您在 for 循环中使用 'row' 作为迭代器,然后再次使用它来构建 DataRow。我无法判断这是否有问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多