Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改DevExpress gridview数据源_C#_Datagridview_Devexpress_Datasource - Fatal编程技术网

C# 更改DevExpress gridview数据源

C# 更改DevExpress gridview数据源,c#,datagridview,devexpress,datasource,C#,Datagridview,Devexpress,Datasource,我将获取gridview的数据源,然后向其中添加一些列,并再次在该gridview中填充新的数据源 我使用以下代码: try { if (!dt.Columns.Contains("Message_ID")) { dt.Columns.Add("Message_ID", typeof(int)); dt.Columns.Add("Message_Status", typeof(String));

我将获取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);
    }
}
试试看
{
如果(!dt.Columns.Contains(“Message_ID”))
{
添加(“消息_ID”,typeof(int));
添加(“消息状态”,类型(字符串));
dt.列。添加(“成本”,类型(长));
}
List phonelist=新列表();
foreach(数据行dr在dt.行中)
{
添加(dr[“phone”].ToString().TrimEnd());
}
结果=api.Send(Properties.Settings.Default.SMS_Number,phonelist,message,Kavenegar.SDK.Models.Enums.MessageType.AppMemory,DateTime.MinValue);
对于(int i=0;i

但是我有个问题,gridview没有用新的数据源刷新。我用一个全新的gridview进行了尝试,似乎我的数据源工作得很好,其中提供了新的列。但是如果我在gridview中有一个数据源,我就不能为它提供新的数据源,我不会得到任何错误或类似的东西。

在设置gridControl的数据源后尝试调用该方法。这将迫使网格在您的视图中重新创建列,因此新数据将可见。

谢谢我的fried,我会尝试一下,并让您知道结果。谢谢