烽燧煜明 2022-08-01 10:24 采纳率: 80%
浏览 188
已结题

C#如何将DataGridView控件中的数据保存为DataTable表(开发工具-visualstudio)

问题遇到的现象和发生背景

我用的是C#语言,做了一张DataTable类型的表,然后用DataGridView控件将其显示了出来。现在我运行时通过对DataGridView直接操作对数据进行了修改和添加,但是却不知道怎么把修改后的数据重新存储回这张表里了

问题相关代码
        private void 保存修改ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (tableMode == 1)
            {
                //tableMode是一个旗标,用于标识表单类型
                //这里应该是把dataGridView1中的数据倒回去的,但我不知道怎么倒,只能先用源数据装样子防报错
                tableJsonShowTemp = dataGridView1.DataSource as DataTable;
                jsonSettingsList = MakeJsonTableReverse();
                if (listOfItemList.Count < jsonSettingsList.Count)
                {
                    for (int i = 0; i < jsonSettingsList.Count - listOfItemList.Count; i++)
                    {
                        List<JsonSettingsItems> newItemList = new List<JsonSettingsItems>();
                        listOfItemList.Add(newItemList);
                    }
                }
                for (int i = 0; i < jsonSettingsList.Count; i++)
                {
                    jsonSettingsList[i].items = listOfItemList[i];
                }
                MessageBox.Show("修改已保存");
            }
            else if (tableMode == 2)
            {
                tableJsonItemShowTemp = dataGridView1.DataSource as DataTable;
                listOfItemList[rowNum] = MakeItemTableReverse();
                jsonSettingsList[rowNum].items = listOfItemList[rowNum];
                MessageBox.Show("修改已保存");
            }
            else
            {
                MessageBox.Show("操作异常!");
            }
        }
运行结果及报错内容

tableJsonShowTemp和tableJsonItemShowTemp两张表存哪张哪张没数据

我的解答思路和尝试过的方法

要有就不问了

我想要达到的结果

把dataGridView1这个控件里的表保存回去

  • 写回答

2条回答 默认 最新

  • 石岩Maple 2022-08-01 10:32
    关注

    DataTable作为全局变量

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月30日
  • 创建了问题 8月1日

悬赏问题

  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元
  • ¥15 静电纺丝煅烧后如何得到柔性纤维
  • ¥15 (标签-react native|关键词-镜像源)
  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,
  • ¥15 JETSON NANO
  • ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
  • ¥20 关于 openpyxl 处理excel文件地问题