页面更改时,Aspxgridview命令列会丢失值

时间:2016-04-01 15:25:11

标签: jquery vb.net visual-studio-2013 devexpress aspxgridview

我正在使用VS 2013 VB。我有一个使用objectdatasource的aspxgridview。其中一列是一个命令列,用作名为“Select”的复选框。当用户选择一个复选框然后转到另一个页面,然后返回到他们创建选中复选框的页面时,复选标记就消失了。它没有保留选择。 这是一个库存物品网格。我想进行多项选择,然后点击一个按钮。在按钮上单击我想打开一个单独的页面,其中包含已检查的项目。这是为了创建工单。

有关如何实现这一目标的任何想法?我使用VB而不是C#。 提前致谢! 下面是网格:

 <dx:ASPxGridView ID="gvInventory" runat="server" AutoGenerateColumns="False" DataSourceID="InventoryDataSource" EnableTheming="True" Theme="Office2003Olive" EnableRowsCache="False" KeyFieldName="ID_Number">
     <Columns>
          <dx:GridViewDataTextColumn FieldName="ID_Number" Visible="False" VisibleIndex="7">
          </dx:GridViewDataTextColumn>
          <dx:GridViewDataTextColumn Caption="Item" FieldName="Item_Number" VisibleIndex="2" Width="25px">
          </dx:GridViewDataTextColumn>
          <dx:GridViewDataTextColumn Caption="Description" FieldName="Item_Description" VisibleIndex="3">
          </dx:GridViewDataTextColumn>
          <dx:GridViewDataTextColumn Caption="Cost" FieldName="Current_Cost" VisibleIndex="6" Width="15px">
              <PropertiesTextEdit DisplayFormatString="{0:c}">
              </PropertiesTextEdit>
          </dx:GridViewDataTextColumn>
          <dx:GridViewDataTextColumn Caption="WH" FieldName="Warehouse_Location" VisibleIndex="4" Width="15px">
          </dx:GridViewDataTextColumn>              
          <dx:GridViewDataDateColumn Caption="Date Rcv'd" FieldName="Last_Receipt_Date" VisibleIndex="1" Width="25px">
          </dx:GridViewDataDateColumn>              
          <dx:GridViewDataTextColumn Caption="QTY On Hand" FieldName="Quantity_On_Hand" VisibleIndex="5" Width="20px">                 
              <HeaderStyle Wrap="True" />
          </dx:GridViewDataTextColumn>
          <dx:GridViewDataTextColumn FieldName="Current_Month_Issue_Quantity" Visible="False" VisibleIndex="17">
          </dx:GridViewDataTextColumn>          

          **<dx:GridViewCommandColumn Caption="Select" ShowInCustomizationForm="True" ShowSelectCheckbox="True" VisibleIndex="0">
          </dx:GridViewCommandColumn>**

将复选框更改为: *

*<dx:GridViewDataTextColumn ShowInCustomizationForm="True"  VisibleIndex="0">
              <DataItemTemplate>
               <dx:ASPxCheckBox ID="wed" runat="server" OnInit="cb_Init">                            
               </dx:ASPxCheckBox>
               </DataItemTemplate>
              </dx:GridViewDataTextColumn>*

*                                                   

添加了:

 </dx:ASPxGridView>        
        <dx:ASPxHiddenField ID="hf" runat="server" ClientInstanceName="hf">
        </dx:ASPxHiddenField>

在.vb页面中添加:

 Protected Sub cb_Init(ByVal sender As Object, ByVal e As EventArgs)
        Dim cb As ASPxCheckBox = CType(sender, ASPxCheckBox)
        Dim container As GridViewDataItemTemplateContainer = CType(cb.NamingContainer, GridViewDataItemTemplateContainer)

        Dim key As String = String.Format("{0}_{1}", container.Column.Name, container.VisibleIndex)
        cb.ClientSideEvents.CheckedChanged = String.Format("function(s, e) {{ hf.Set('{0}', s.GetChecked()); }}", key)
        cb.ClientSideEvents.Init = String.Format("function(s, e) {{ s.SetChecked(hf.Get('{0}')); }}", key)
    End Sub

我在https://www.devexpress.com/Support/Center/Question/Details/Q527992

找到了这个

谢谢你,KRob的所有帮助!

1 个答案:

答案 0 :(得分:0)

请看原帖。我展示了我在那里所做的改变。我发现的信息是: https://www.devexpress.com/Support/Center/Question/Details/Q527992

再次感谢KRob!