用户在网页上多次控制:
我有一个带有网格的用户控件和一个列表框网格设置为自动创建列 = True 我将查询传递给控件并在 Page_Load 事件中填充网格用户双击网格上的行以选择这些行已添加到列表中框(第 1 列作为值,第 2 列作为显示)如果用户双击列表框中的行 - 它从选择中删除如果网格行已经存在于列表框中,则系统会忽略它
到目前为止一切顺利,并且运行良好!
扭曲:如果页面上只有一个控件-一切都很好但是如果该控件在网页上多次出现-它无法按预期工作
错误是'因为每个用户控件都复制了相同的 java 脚本,所以只有最后一个在工作
下面是代码...帮助!
<script type="text/javascript">
function list_DblClick(s, e) {
s.RemoveItem(s.GetSelectedIndex())
}
function grid_DblClick(s, e) {
var sfn = s.GetColumn(0).fieldName + ';' + s.GetColumn(1).fieldName
s.GetRowValues(s.GetFocusedRowIndex(), sfn, OnGetRowValues);
}
//check for duplicate and add new
function OnGetRowValues(values) {
var sFound = "False"
for (var i = 0; i < selList.GetItemCount(); i++) {
if (values[0] == selList.GetItem(i).value) {
sFound = "True"
}
};
if (sFound == "False") {
selList.AddItem(values[1], values[0])
};
}
</script>
<br />
<br />
<dx:ASPxGridView ID="grdSelection" ClientInstanceName="grid" runat="server" Width="100%">
<ClientSideEvents RowDblClick="grid_DblClick" />
<SettingsBehavior AllowFocusedRow="True" />
</dx:ASPxGridView>
<br />
<br />
<dx:ASPxListBox ID="listSelected" ClientInstanceName="selList" runat="server" Height="250px" Width="100%" >
<ClientSideEvents ItemDoubleClick="list_DblClick" />
</dx:ASPxListBox>
<br />
<br />