C# 动态修改DataGridView数据源,根据不同条件显示不同数据(代码)

在实际应用中,需要动态根据程序执行中的数据显示不同数据表中的数据,两个表中的数据列有一些并不相同,因此不能使用相同的数据列显示。

如何动态修改数据源并显示如来?经过测试,可以在每次绑定之前先清空所有数据列,然后根据数据源的信息让程序自动再生成数据列。

        private void bindDGVContractDetail(int cId)
        {
            ucdgvContractDetail.Columns.Clear();

            string strSqlDetail = "";

            if (!type.Text.Contains("basis"))
            {
                strSqlDetail = "SELECT [id] ,[contractId] ,[getGoodsFacId] ,[type] 
				FROM [vContractDetailLinkDeliverySumCN]
				Where contractId=" + cId + " order by id desc";

                ContractDetailAdd.Enabled = upeReturn.AddPermission;

                DataSet ds = new CommonDataSet().GetDataSet(strSqlDetail);
                ucdgvContractDetail.DataSource = ds.Tables[0].DefaultView;
                ucdgvContractDetail.AutoGenerateColumns = true;

                ucdgvContractDetail.Columns[1].Frozen = true;
            }
            else
            {
                strSqlDetail = @"SELECT [id] ,[contractId] ,[getGoodsFacId] ,[sonContractId] ,[sellerId]  ,[buyerId] ,[goodsId]  
				FROM vContractBasisDetailLinkDeliverySumCN
				Where contractId=" + cId + " Order by id desc";

                ContractDetailAdd.Enabled = false;

                DataSet ds2 = new CommonDataSet().GetDataSet(strSqlDetail);
                ucdgvContractDetail.DataSource = ds2.Tables[0].DefaultView;
                ucdgvContractDetail.AutoGenerateColumns = true;
             }
        }

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小飞鱼通达二开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值