日期:2014-05-17  浏览次数:20381 次

GridView批量更新,合并了三列遇到的问题。
----根据http://msdn.microsoft.com/zh-cn/library/aa992036(v=VS.100).aspx?ppud=4 演练:GridView批量更新的示例,先将各列转换为 模板,再编写后台代码。 


----我对自己的数据库做了相同的尝试,没有问题。但我后来把SQLDataSource中的三列合并起来(原来分别是:[PropertyCityReceivable], [PropertyRoadReceivable], [PropertyAddressReceivable] 后来合并改成 [PropertyCityReceivable]+ [PropertyRoadReceivable]+ [PropertyAddressReceivable])。  

----

----问题出来了!我每次点击Button更新数据,Columnn1列(也就是[PropertyCityReceivable]+ [PropertyRoadReceivable]+ [PropertyAddressReceivable])的数据就自动消失了。(这三列如果不合并就不会消失,一合并就会消失)。

---- 

----我感觉这应该是个简单的问题,但我就是找不出问题所在。很纠结,请各位不吝赐教,谢谢!!!以下分别是前台和后台完整的代码。注释掉的部分是《演练》中的示例  

------------------------------- 前台--------------------------  

HTML code

//篇幅所限, 删除前面的代码
                        <Columns>
                            <asp:TemplateField HeaderText="ReceivableID" SortExpression="ReceivableID">
                                <EditItemTemplate>
                                    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("ReceivableID") %>'></asp:TextBox>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("ReceivableID") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:BoundField DataField="PropertyIDReceivable" 
                                HeaderText="PropertyIDReceivable" ReadOnly="True" 
                                SortExpression="PropertyIDReceivable" />
                            <asp:TemplateField HeaderText="ContractNumberReceivable" 
                                SortExpression="ContractNumberReceivable">
                                <EditItemTemplate>
                                    <asp:TextBox ID="TextBox2" runat="server" 
                                        Text='<%# Bind("ContractNumberReceivable") %>'></asp:TextBox>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="Label2" runat="server" 
                                        Text='<%# Bind("ContractNumberReceivable") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="ManageProjectReceivable" 
                                SortExpression="ManageProjectReceivable">
                                <EditItemTemplate>
                                    <asp:TextBox ID="TextBox3" runat="server" 
                                        Text='<%# Bind("ManageProjectReceivable") %>'></asp:TextBox>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:TextBox ID="TextBox_ManageProjectReceivable" runat="server" 
                                        Text='<%# Bind("ManageProjectReceivable") %>'></asp:TextBox>
                                </ItemTemplate>
                            </asp:TemplateField>