我已经在C#中构建了基础设施webdatagrid:

        var columnOne = new BoundDataField();
        columnOne.DataFieldName = "ColumnOne";
        columnOne.Key = "columnOne";
        columnOne.Header.Text = "columnOne";

        var columnTwo = new BoundDataField();
        columnTwo.DataFieldName = "ColumnTwo";
        columnTwo.Key = "columnTwo";
        columnTwo.Header.Text = "columnTwo";

        WebDataGridObject.DataKeyFields = "ColumnOne";
        WebDataGridObject.Columns.Add(columnOne);
        WebDataGridObject.Columns.Add(columnTwo);


我想从javascript更新第一列的单元格中的内容时更新第二列的单元格。

例如,我的用户开始在第3行和第1列的单元格中键入一个值,第2行和第2列的单元格必须使用常数值自动更新,例如“ updated”。

为此,我有点挣扎,我在c#中附加了许多客户端事件,并且我认为唯一有用的是keydown:

WebDataGridObject.ClientEvents.MouseDown = "WebDataGridView_MouseDown";
WebDataGridObject.ClientEvents.KeyDown = "WebDataGridView_KeyDown";
WebDataGridObject.Behaviors.EditingCore.Behaviors.CellEditing.CellEditingClientEvents.EnteredEditMode = "enteredEditMode";
WebDataGridObject.Behaviors.EditingCore.Behaviors.CellEditing.CellEditingClientEvents.ExitedEditMode = "exitedEditMode";


我想要我的js keydown事件处理程序,获取当前正在编辑的单元格的列键,如果它等于“ columnOne”,则在同一行和第二列上更新该单元格的值。这是我的js:

function WebDataGridView_KeyDown(webDataGrid, evntArgs) {


}

function WebDataGridView_MouseDown(webDataGrid, evntArgs) {
// this is where I am trying to get the column key of the currently edited cell
    webDataGrid.get_behaviors().get_selection().get_selectedRowsResolved()    [0].get_cell(3).get_text()
 }

var gridRef;
var cellRef;

function enteredEditMode(grid, args) {
    gridRef = grid;
    cellRef = args.getCell();
    if (cellRef._column._key === "headerName") {
        alert('toto');
    }
}

function exitedEditMode(grid, args) {
    gridRef = null;
    cellRef = null;
}

最佳答案

要获取列键,您应该尝试以下操作:

    webDataGrid.get_behaviors().get_selection().get_selectedRowsResolved()[0].get_cell(3).get_column().get_key();


或这个:

   webDataGrid.get_behaviors().get_selection().get_selectedRowsResolved()[0].get_cell(3).get_column()._dataFieldName

关于javascript - 基础设施webdatagrid从客户端的keydown事件中获取选定的单元格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39371328/

10-13 08:30
查看更多