我想在DataGridView上显示所有DataSource行,但不显示为行,而是显示为行的列。 每检索到12个项目,我想在DataGridView上插入一个新行,并用来自DataSource的更多项目填充此新行(每行12个)。

My DataSource每次仅检索一个项目,并且直接与DataGridView一起使用效果很好,但是每个项目显示了不同的行。

有什么提示吗?

#1楼 票数:0 已采纳

感谢@SriramSakthivel。

private void AddToList(DataTable dt)
    {
        possibleWords = 0;

        // Cleans the data grid view
        WordList.DataSource = null;
        WordList.Refresh();

        // Let's transform the original data table onto another, changing rows by columns
        DataTable table = new DataTable();

        for (int i = 0; i < 10; i++)
        {
            table.Columns.Add(Convert.ToString(i));
        }

        DataRow r;

        int col = 0;
        //for (int k = 0; k < dt.Columns.Count; k++)
        {
            r = table.NewRow();

            for (int j = 0; j < dt.Rows.Count; j++)
            {
                if (col >= 10)
                {
                    table.Rows.Add(r);
                    col = 0;
                    r = table.NewRow();
                }

                r[col++] = (dt.Rows[j][0]).ToString().ToUpper();
                possibleWords++;
            }

            table.Rows.Add(r);
        }

        // Puts the new data table as datasource of the word list
        DataView dv = table.DefaultView;
        WordList.DataSource = dv;

        if (possibleWords == 0)
            return;

        WordList.Columns[0].DefaultCellStyle.BackColor = Color.WhiteSmoke;
        WordList.ColumnHeadersVisible = false;
        WordList.RowHeadersVisible = false;
    }

  ask by Nilo Paim translate from so

未解决问题?本站智能推荐:

1回复

将数据源设置为datagridview不会显示数据

我正在将数据源分配给datagridview,它工作正常,但仅是第一次。 当我第二次分配数据源时,它不显示数据。 我的代码是: 我还像这样重命名了前面的列标题: 当我第二次调试该代码时,它显示具有6行的数据表,但我不知道为什么它不显示数据,它仅显示列标题。
1回复

与其他DataGridView数据源一样,C#Datagridview列-完全没有行

我想用其他DataGridView的Columns填充DataGridView。 结果,我有所有列,但根本没有行。 代码很简单: 之后,数据源具有元素。 datagridview1有列,但现在有行。 为什么不起作用?
2回复

从ReportViewer中的DataGridView显示数据源

在先前有关报表查看器中动态列的问题之后,我认为我至少会尝试使事情正常进行。 显示的输出是数学因子的列,每个因子都有自己的唯一名称。 这些因素(可以选择1到10之间的任何数字)在我的DataGridView控件中显示没有问题-通过根据需要添加行/列来生成DataTable,然后将数据表设置为
1回复

使用BindingSource作为数据源的DataGridview仅在选择一行后才显示值

我正在使用 DataGridView 使用字符串包装器类、BindingSource 和 BindingList 来显示字符串值。 但是,在启动应用程序时,这些值仅在单击行后才可见。 我已经尝试查看所有可能的样式属性以查看初始黑色的来源,但没有成功。 初始外观: 单击(有趣的颜色以尝试了解哪种样式
3回复

DataGridView缺少具有空数据源的新行

我正在创建一个应用程序,它使用DataGridView创建和修改稍后将导入系统的本地List。 它应该由用户编辑(在DGV中单击和写入),它还应该支持从csv导入,这意味着我需要DGV和数据源之间的双向同步。 我已经将DGV的DataSource设置为BindingList<Clie
1回复

C#WinForms:如何强制DataGridView绑定其来自数据源的数据

我有一个Windows窗体,其中包含一些命令的gridView。 我的目标是拥有一个带有订单ID的表单构造函数,该构造函数将负责在gridView中选择该订单。 但我注意到当代码在构造函数中执行时,gridView是空的! 尽管InitialComponents()已被调用! 所以
1回复

为什么更新数据源时会自动选择DataGridView中的行?

我有一个DataTable充当DataGridView的数据源 我有一个填充此DataTable的方法(这样做时填充了DataGridView) 我还有一个按钮,当按下该按钮时会调用PopulateDataTable 单击RefreshButton ,将清除数据源并正确更新数据源,但
1回复

从DataGridView数据源中删除行错误

我为我的删除按钮写了这些行。 我没有出现任何错误,但按钮不执行任何操作,有时我会从 vb 收到此错误 mscorlib.dll "" 中发生了类型为“System.FormatException”的未处理异常,在此行中选择了代码 "" c.patientID = Convert.ToInt32(t