【问题标题】:Change DevExpress gridview datasource更改 DevExpress gridview 数据源
【发布时间】:2014-07-20 06:30:14
【问题描述】:

我将获取gridview 的数据源,然后向其中添加一些列,并再次在该gridview 中填充新的数据源。

我使用这个代码:

    try
    {
        if (!dt.Columns.Contains("Message_ID"))
        {
            dt.Columns.Add("Message_ID", typeof(int));
            dt.Columns.Add("Message_Status", typeof(String));
            dt.Columns.Add("cost", typeof(long));
        }

        List<string> phonelist = new List<string>();

        foreach (DataRow dr in dt.Rows)
        {
            phonelist.Add(dr["phone"].ToString().TrimEnd());
        }

        results = api.Send(Properties.Settings.Default.SMS_Number, phonelist, message, Kavenegar.SDK.Models.Enums.MessageType.AppMemory, DateTime.MinValue);

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            dt.Rows[i]["Message_ID"] = 123;//results[i].ID;
            dt.Rows[i]["Message_Status"] = "fgh";//results[i].StatusText;
            dt.Rows[i]["cost"] =  123;//results[i].Cost;
        }

        gridecontrol.DataSource = null;
        gridecontrol.DataSource = dt;
        gridecontrol.RefreshDataSource();
    }
    catch (Exception ex)
    {
         System.Windows.Forms.MessageBox.Show(ex.Message, "Error message", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
}

但是我有一个问题,gridview 没有用新的数据源刷新。我用一个新的 gridview 尝试了它,似乎我的数据源工作正常并且其中提供了新列。但是,如果我在 gridview 中有一个数据源,我无法为它提供新的数据源,我不会收到任何错误或类似的东西。

【问题讨论】:

    标签: c# datagridview devexpress datasource


    【解决方案1】:

    在设置gridControl 的DataSource 后尝试调用gridView.PopulateColumns() 方法。这将强制网格在您的视图中重新创建列,因此新数据将可见。

    【讨论】:

    • 谢谢我的油炸,我试试看结果告诉你..谢谢
    猜你喜欢
    • 2014-02-19
    • 2014-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多