edatagrid中当编辑一个字段的时候另一个字段锁定
时间: 2023-07-20 10:06:08 浏览: 35
您可以在edatagrid的CellEndEdit事件中编写代码,以锁定另一个字段。例如,如果您要编辑“字段A”,并且您想锁定“字段B”,则可以在CellEndEdit事件中编写以下代码:
```c#
private void edatagrid_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (edatagrid.Columns[e.ColumnIndex].Name == "字段A")
{
// 锁定“字段B”
edatagrid.Rows[e.RowIndex].Cells["字段B"].ReadOnly = true;
}
}
```
这将在编辑“字段A”时锁定“字段B”。您可以根据需要修改代码,以适应您的特定情况。
相关问题
edatagrid中当编辑一个字段的时候另一个字段锁定。jsp和js怎么写
你可以使用 JavaScript 监听编辑事件,然后根据需要锁定另一个字段。以下是实现的一种方式:
HTML/JSP 代码:
```
<table id="myTable">
<tr>
<td><input type="text" name="field1" /></td>
<td><input type="text" name="field2" /></td>
</tr>
<tr>
<td><input type="text" name="field1" /></td>
<td><input type="text" name="field2" /></td>
</tr>
...
</table>
```
JS 代码:
```
<script>
// 获取表格中所有行
const rows = document.querySelectorAll('#myTable tr');
// 循环遍历每一行
rows.forEach(row => {
// 获取当前行中的两个文本框
const field1 = row.querySelector('input[name="field1"]');
const field2 = row.querySelector('input[name="field2"]');
// 监听文本框的编辑事件
field1.addEventListener('input', event => {
// 锁定另一个文本框
field2.disabled = true;
});
});
</script>
```
这段代码会遍历表格中的每一行,然后监听每个行中的第一个文本框的编辑事件。当第一个文本框被编辑时,代码会将第二个文本框锁定禁用。你可以根据你的需要修改代码来实现你的需求。
edatagrid中触发onChange的时候另一个字段锁定。jsp和js怎么写
在edatagrid中触发onChange事件时,可以使用以下代码来锁定另一个字段:
1. 在edatagrid的初始化中设置onAfterEdit事件:
```javascript
$('#datagrid').edatagrid({
onAfterEdit: function(index, row, changes) {
if('field1' in changes){ // field1是你想要监听的字段
var lockedValue = row.field1; // 获取field1的值
$('#datagrid').edatagrid('getEditor', {index:index,field:'field2'}).target.val(lockedValue); // 将field2的值锁定为field1的值
}
}
});
```
2. 在edatagrid的列定义中设置field2的editor:
```javascript
$('#datagrid').edatagrid({
columns:[[
{field:'field1',title:'Field 1',width:100,editor:'text'},
{field:'field2',title:'Field 2',width:100,editor:{
type:'text',
options:{
disabled:true // 将editor设置为disabled,使其不能编辑
}
}}
]]
});
```
以上代码中,当field1的值发生变化时,会将field2的editor的值设置为field1的值,同时将editor设置为disabled,从而实现了锁定field2的效果。