找回密码
 立即注册

QQ登录

只需一步,快速开始

weisheng1234

注册会员

17

主题

69

帖子

178

积分

注册会员

积分
178
weisheng1234
注册会员   /  发表于:2017-12-15 16:35  /   查看:3180  /  回复:9
我定义了一个flexGrid绑定方法,每次添加一条数据就调用这个绑定方法,绑定后发现界面以前绑定的数据还在,也就是重复显示了,刷新也不行。每次添加之后调用下面的方法。

请问如何解决?

private void BindScheduleToGrid()
        {
            try
            {
                using (System.Data.SqlClient.SqlConnection dbConnection = new System.Data.SqlClient.SqlConnection(DBConnectString))
                {
                    SqlCommand command = new SqlCommand();
                    command.Connection = dbConnection;
                    dbConnection.Open();
                    command.CommandText = "select * from tScheduleTime";
                    SqlDataAdapter myAdapter = new SqlDataAdapter(command);
                    myAdapter.Fill(_ds, "tScheduleTime");
                    command.CommandText = "select * from tScheduleTimePeriod";
                    myAdapter = new SqlDataAdapter(command);
                    myAdapter.Fill(_ds, "tScheduleTimePeriod");
                    _ds.Relations.Add("ScheduleTime_ScheduleTimePeriod", _ds.Tables["tScheduleTime"].Columns["UniqueID"], _ds.Tables["tScheduleTimePeriod"].Columns["ScheduleTimeUniqueID"]);
                    DataTable dt = _ds.Tables["tScheduleTime"];
                    dt.ExtendedProperties.Add("ShowColumns", new string[]{
                       "Alias,Alias","ModalityType,Modality Type ","ActionType,Action Type","Percent,Percent"
                    });
                    dt = _ds.Tables["tScheduleTimePeriod"];
                    dt.ExtendedProperties.Add("ShowColumns", new string[]{
                         "Alias,Alias","BeginTime,Begin Time","EndTime,End Time","Number"
                    });
                    _flex.SetDataBinding(_ds, "tScheduleTime");
                    _flex.Refresh();
                }
            }
            catch
            {
            }
        }

9 个回复

倒序浏览
JeffryLI
葡萄城公司职员   /  发表于:2017-12-15 17:43:11
沙发
您好,这个需要断点查看在您绑定数据之前的table的里面数据个数,从您的代码里面有可能是在您的table里面数据重复了。您可以在检查下,有demo发给我们最好。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
weisheng1234
注册会员   /  发表于:2017-12-18 09:52:51
板凳
请看附件,请看ScheduleSetting窗体里面的代码, Add 按钮和Delete按钮效果一样的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-12-18 14:34:46
地板
weisheng1234 发表于 2017-12-18 09:52
请看附件,请看ScheduleSetting窗体里面的代码, Add 按钮和Delete按钮效果一样的。

您好,demo已收到,验证后给您回复。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
weisheng1234
注册会员   /  发表于:2017-12-18 15:26:58
5#
while (_flex.Rows.Count > 0)
                {
                    _flex.Rows.Remove(0);
                }

在绑定的代码开始部分加上如上代码
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-12-18 15:56:57
6#
weisheng1234 发表于 2017-12-18 09:52
请看附件,请看ScheduleSetting窗体里面的代码, Add 按钮和Delete按钮效果一样的。

您好,程序因为数据库配置不对没跑起来,你数据脚本发给我,
这块我再给您提供两种方法 您可以再试试
1、 _flex.SetDataBinding(_ds, "tScheduleTime",true)
2、在重新绑定之前清空flexgrid之前的绑定,
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
weisheng1234
注册会员   /  发表于:2017-12-18 19:02:08
7#
如何清空flexgrid?
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-12-19 09:58:27
8#

您好,清空只需要c1FlexGrid1.DataSource = null;
在这里我建议不要使用setdatabinding的方法,因为我看你都读到table了,所以直接用datasource的属性绑定。希望能帮到您。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
weisheng1234
注册会员   /  发表于:2017-12-19 15:11:20
9#
开始设置为null再设置DataSource为table,列表显示空白,数据显示不出来。
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-12-19 17:15:05
10#
您好,我这边给您写了一个demo,您可以参照一下,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部