assigned选择附加数据库信息
如果你想从客户端脚本里选择附加数据库你可以用selectData方法,这个方法允
许你传递一个SQL语句或者存储过程名给方法,然后返回一个包含所请求数据的对象,你
可能会要用到这个方法的地方是你不想加入某个表而想联合其中某个列
<script language=JScript>
...
document.all.dbnetgrid1.setColumnProperty("categoryid","transform:selectData")
document.all.dbnetgrid1.loadData()
...
var categoryNameCache = new Object()
function selectData(cell)
{
cell.style.textAlign = 'left'
if (typeof(categoryNameCache[cell.innerText]) == 'string')
{
cell.innerText = categoryNameCache[cell.innerText]
}
else
{
var grid = document.all.dbnetgrid1
var data = grid.selectData("SELECT categoryname FROM categories WHERE
categoryid = " + cell.innerText)
categoryNameCache[cell.innerText] = data.categoryname
cell.innerText = data.categoryname
}
}
...
</script>
返回的对象里是所有属性名称都是小写,不管数据表是大小写。上面这个例子也
使用了一种避免向服务器发送复杂关系请求的最小化缓存技术。
用存储过程来写这个方法也可以。
<script language=JScript>
...
function selectData()
{
var grid = window.event.srcElement
var parameters = new Object()
parameters["categoryname"] = "Beverages"
parameters["ordyear"] = 1996
var data = grid.selectData("salesbycategory", parameters)
document.all.productName.innerText = data.productname
}
...
</script>
用selectData选择多个行
默认情况下selectData返回描述所选行的单个对象,通过给函数传递可选的第三
个参数,你可以选择多个行。此时方法将返回所有选择对象为一个对象数组。
<script language=JScript>
...
document.all.onPageLoaded = getOrderValue
...
function getOrderValue()
{
var grid = document.all.dbnetgrid1
var table = grid.table
var orderIds = ''
for (var i=1;i<table.rows.length;i++)
{
if (i > 1)
orderIds += ','
orderIds += table.rows[i].id
}
sql = 'select orderid, sum(unitprice*quantity) as ordervalue from [order
details] where orderid in (' + orderIds + ') group by orderid'
var data = document.all.dbnetgrid1.selectData(sql,null,true)
for (var i in data)
{
var orderId = data[i].orderid
for (var r=1;r<table.rows.length;r++)
if (table.rows[r].id == orderId)
table.rows[r].cells[4].innerText = grid.formatNumber(data
[i].ordervalue,2)
}
}
...
</script>
上例中onPageLoaded 事件用来调用一个方法,这个方法选择'order details' 表每个排
序的总排序值,数据返回然后赋值给用orderid识别的正确行。
分享到:
相关推荐
通过在form.on('select')事件的回调函数中使用data.elem.getAttribute方法,可以轻松获取到自定义属性的值。这个方法的参数就是自定义属性的名称,比如在这个例子中,"data-aid"是自定义属性的名称,我们就可以通过...
在标题"JS组件系列之使用HTML标签的data属性初始化JS组件"中,提到的关键知识点是: 1. **HTML的`data-*`属性**:这是一种HTML5引入的新特性,允许开发者在元素上存储自定义的数据,其名称由"data-"前缀和任意字符...
自定义属性(Custom Attributes)是 HTML5 引入的一个新特性,允许开发者为任何元素添加任意属性名,并通过 `data-` 前缀进行标识。例如: ```html <option data-custom-attr="example">Option Text ``` 然而,在...
form.on('select(filter)', function(data){ console.log(data.elem); //得到select原始DOM对象 console.log(data.value); //得到被选中的值 console.log(data.othis); //得到美化后的DOM对象 }); 获取自定义...
另一方面,如果在模板中直接使用`this.data-id`,Vue会将其视为尝试访问Vue实例上的`data-id`属性,但是由于`data-id`并不存在于Vue实例的数据对象中,因此无法正确获取其值。 本文也提到了如何在点击事件处理函数...
可以使用jQuery来维护这些状态,例如将选中的属性值存储在DOM元素的data属性中,或者使用JavaScript对象来管理。 6. **动画效果**:为了提升用户体验,可以利用jQuery的动画功能来优雅地展示结果。例如,当用户更改...
解决 Vue 中计算属性更新后 Select 选中值不更新的问题 Vue 是一个流行的前端框架,它提供了强大的计算属性功能,允许开发者根据需求动态计算并更新页面数据。但是,在使用计算属性时,可能会遇到一些意外的问题,...
SqlCommand command = new SqlCommand("SELECT * FROM Accounts WHERE AccountNumber = @accountNumber", connection); command.Parameters.AddWithValue("@accountNumber", accountNumber); SqlDataReader reader =...
在描述中提到,当对已经初始化的Bootstrap-select进行属性修改时,通常开发者可能会想到重新渲染整个组件来更新设置。然而,这种做法并不高效,因为它涉及到了不必要的DOM操作,可能导致页面性能下降。实际上,只...
当我们在项目中遇到“多个el-select不能重复选择相同属性”的问题时,这意味着我们可能需要实现一种机制来确保不同select组件之间的选项值不发生冲突,即用户不能在多个select中选择相同的值。以下是对这个问题的...
这个库的独特之处在于它不需要额外的JavaScript代码就能工作,只需要在select元素上添加一个"data-select"属性,就能实现功能的激活。这种设计使得开发者可以轻松地在项目中引入这个组件,提高用户体验,同时减少...
3. **HTML5 data属性**: HTML5的`data-*`属性可以用来存储自定义数据,比如可以将图片URL存储在`data-image`属性中。然后在JavaScript中解析这些数据,动态创建包含图片的DOM元素。 4. **jQuery实现**: 描述中...
总结来说,要实现`<select>`和`<option>`带有自定义图片的效果,我们需要结合HTML的`data-*`属性,JavaScript的动态操作和CSS的样式设计。这不仅增强了用户体验,也展示了前端技术在实现视觉效果方面的灵活性。在...
可以通过数据属性(data- attributes)或JavaScript设置选项,如开启搜索框、改变分隔符等。例如,开启搜索功能可以添加`data-live-search="true"`。 5. **事件处理**:插件提供了多种事件,如`changed.bs.select`...
例如,`value`属性在所有浏览器中都能正常工作,但自定义属性(如`data-*`)可能需要额外的处理。使用`getAttribute`和`setAttribute`方法可以确保跨浏览器兼容性。 6. **事件冒泡和捕获** 事件冒泡和捕获的处理...
在网页设计中,`<select>`元素用于创建一个下拉列表,用户可以从预定义的选项中选择一个。然而,当`<select>`列表中的选项内容过长时,可能会出现一些问题,比如显示不全或者遮挡其他内容。针对这个问题,我们可以...
8. **国际化**:Bootstrap Select 支持多语言,通过设置 `data-language` 属性可以选择不同的语言。 9. **禁用与选中状态**:可以使用 `disabled` 属性禁用整个下拉框,或使用 `selected` 属性预先选择某个选项。 ...
接下来,你需要对select元素应用`.selectpicker`类,并通过设置`data-live-search="true"`属性来启用搜索功能。例如: ```html <select id="bs3Select" class="selectpicker show-tick form-control" multiple data...