使用修剪功能时使用数据集更新

时间:2013-10-27 17:52:32

标签: c# sql sql-server-2005 datagridview

我正在使用数据集和表适配器来填充数据网格视图。在我的SQL语句中,我使用RTrim函数作为其中两列。对于它们,我将结果变量设置为与原始列名相同的名称。

这样可行,但后来我无法使用数据集更新数据,因为修剪后的值是只读的。

我想要的是用修剪后的值填充datagridview,然后能够使用相同的数据集进行更新。这看起来很简单,但它不允许我这样做。除了我使用Trim的两列之外,所有内容都会更新。

这是我正在使用的SQL语句。

SELECT   
    PK, RTRIM(Description) AS Description, ContractNumber,
    RTRIM(Status) AS Status, Active
FROM
    ConstructionProjects
ORDER BY 
    CASE WHEN ContractNumber > 0 
         THEN ContractNumber 
         ELSE 99999 
    END

我知道我可以在Windows应用程序中轻松修剪客户端上的单元格,但我正在寻找在SQL端进行查询的方法。有没有一种简单的方法可以执行此操作,并且仍然可以调用Update方法?

谢谢,

Matt Fomich

1 个答案:

答案 0 :(得分:0)

可以尝试加载列描述和状态而不进行修剪操作,然后将其隐藏在gridview中。更新修剪(和可见)列时,将值复制回同一行中未修剪(和隐藏)的列。然后更新应该照常工作。

也许您应该更改列的名称。 (修剪后的描述和状态列)