我正在使用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的所有帮助!
答案 0 :(得分:0)
请看原帖。我展示了我在那里所做的改变。我发现的信息是: https://www.devexpress.com/Support/Center/Question/Details/Q527992
再次感谢KRob!