0
我想在用戶選擇一行並單擊按鈕時在客戶端顯示選定的行。爲什麼選擇的行值不會在devexpress客戶端使用ASP.Net顯示?
我試圖從這個devexpress link
我與我的代碼相同的情況下嘗試過的代碼,但它會拋出錯誤
這裏是我的代碼
<dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource3" Width="100%" SettingsBehavior-AllowSelectByRowClick="True" OnSelectionChanged="btnSearch_Click">
<Settings HorizontalScrollBarMode="Visible" ShowFilterRow="True" ShowGroupedColumns="True" ShowTitlePanel="True" ShowGroupPanel="True" />
<SettingsSearchPanel Visible="True" />
<Columns>
<dx:GridViewCommandColumn ShowSelectCheckbox="true" VisibleIndex="0"></dx:GridViewCommandColumn>
<dx:GridViewDataTextColumn FieldName="Status" ReadOnly="True" VisibleIndex="0"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="WorksheetID" VisibleIndex="1"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="POTitle" VisibleIndex="2" Width="200px" ExportWidth="100" MinWidth="100"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="FromStoreName" VisibleIndex="3"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="FromPONumber" VisibleIndex="4"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="ToStoreName" VisibleIndex="5"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="ToPONumber" VisibleIndex="6"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="FromStoreID" VisibleIndex="7"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="ToStoreID" VisibleIndex="8"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="FromPlacementStatus" ReadOnly="True" VisibleIndex="9"></dx:GridViewDataTextColumn>
<dx:GridViewDataDateColumn FieldName="FromDatePlaced" VisibleIndex="10"></dx:GridViewDataDateColumn>
<dx:GridViewDataTextColumn FieldName="ToPlacementStatus" ReadOnly="True" VisibleIndex="11"></dx:GridViewDataTextColumn>
<dx:GridViewDataDateColumn FieldName="ToDatePlaced" VisibleIndex="12"></dx:GridViewDataDateColumn>
<dx:GridViewDataDateColumn FieldName="LastUpdated" VisibleIndex="13"></dx:GridViewDataDateColumn>
<dx:GridViewDataTextColumn FieldName="IssueQty" VisibleIndex="14"> </dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="IssueValue" VisibleIndex="15"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="ReceivedQty" VisibleIndex="16"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="ReceivedValue" VisibleIndex="17"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="DiscrepancyQty" ReadOnly="True" VisibleIndex="18"></dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="Discrepancy" ReadOnly="True" VisibleIndex="19"></dx:GridViewDataTextColumn>
</Columns>
</dx:ASPxGridView>
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:HQMatajer13 %>"
SelectCommand="select top 10000
CASE WHEN FromStatus = 0 AND (ToStatus = 0 OR ToStatus IS NULL OR (ToStoreID = 0 AND WorksheetID = 0)) THEN 'Open'
WHEN ToStatus = 0 AND (FromStatus IS NULL OR (FromStoreID = 0 AND WorksheetID = 0)) THEN 'Open'
WHEN FromStatus = 2 AND (ToStatus = 2 OR (ToStoreID = 0 AND WorksheetID = 0)) THEN 'Closed'
WHEN ToStatus = 2 AND (FromStoreID = 0 AND WorksheetID = 0) THEN 'Closed'
ELSE 'Partial'
END Status,
F_ViewInventoryTransferList2.WorksheetID,
F_ViewInventoryTransferList2.POTitle,
F_ViewInventoryTransferList2.FromStoreName,
F_ViewInventoryTransferList2.FromPONumber,
F_ViewInventoryTransferList2.ToStoreName,
F_ViewInventoryTransferList2.ToPONumber,
F_ViewInventoryTransferList2.FromStoreID,
F_ViewInventoryTransferList2.ToStoreID,
CASE FromIsPlaced WHEN 0 THEN 'Not placed' WHEN 1 THEN 'Placed' ELSE 'Unknown' END FromPlacementStatus,
F_ViewInventoryTransferList2.FromDatePlaced,
CASE ToIsPlaced WHEN 0 THEN 'Not placed' WHEN 1 THEN 'Placed' ELSE 'Unknown' END ToPlacementStatus,
F_ViewInventoryTransferList2.ToDatePlaced,
F_ViewInventoryTransferList2.LastUpdated,
F_ViewInventoryTransferList2.IssueQty,
F_ViewInventoryTransferList2.IssueValue,
F_ViewInventoryTransferList2.ReceivedQty,
F_ViewInventoryTransferList2.ReceivedValue,
CASE WHEN (ToStoreID = 0 AND WorksheetID = 0) THEN 0
WHEN (FromStoreID = 0 AND WorksheetID = 0) THEN 0
ELSE F_ViewInventoryTransferList2.ReceivedQty + F_ViewInventoryTransferList2.IssueQty
END DiscrepancyQty,
CASE WHEN (ToStoreID = 0 AND WorksheetID = 0) THEN 0
WHEN (FromStoreID = 0 AND WorksheetID = 0) THEN 0
ELSE F_ViewInventoryTransferList2.ReceivedValue + F_ViewInventoryTransferList2.IssueValue
END Discrepancy
from F_ViewInventoryTransferList2">
</asp:SqlDataSource>
<dx:ASPxButton ID="ASPxButton1" AutoPostBack="False" runat="server" Text="test" UseSubmitBehavior="False">
<ClientSideEvents Click="function(s, e) {
ASPxGridView1.GetSelectedFieldValues('WorksheetID', OnGetSelectedFieldValues);
}" />
</dx:ASPxButton>
Javascript代碼:
<script>
function OnGetSelectedFieldValues(selectedValues) {
//listBox.ClearItems();
alert("Workingggg...");
if (selectedValues.length == 0) return;
for (i = 0; i < selectedValues.length; i++) {
s = "";
for (j = 0; j < selectedValues[i].length; j++) {
s = s + selectedValues[i][j] + " ";
}
//listBox.AddItem(s);
alert(s);
}
}
</script>
即使我嘗試服務器端獲取數據,它會引發同樣的錯誤。這是link用於服務器端是我的嘗試
的'KeyFieldName'應該是唯一的? –
我不記得現在這個,但我總是在一個隱藏的列中使用數據源的主鍵 – Dani