private void TableView_CellActivated(TableView.CellActivatedEventArgs obj) { var val = obj.Table.Rows[obj.Row][obj.Col]; if (val != null && val != DBNull.Value) { Activator.Show(val.ToString()); } }
private void EditCurrentCell(TableView.CellActivatedEventArgs e) { if (e.Table == null) { return; } var o = e.Table.Rows [e.Row] [e.Col]; var title = o is uint u?GetUnicodeCategory(u) + $"(0x{o:X4})" : "Enter new value"; var oldValue = e.Table.Rows[e.Row][e.Col].ToString(); bool okPressed = false; var ok = new Button("Ok", is_default: true); ok.Clicked += () => { okPressed = true; Application.RequestStop(); }; var cancel = new Button("Cancel"); cancel.Clicked += () => { Application.RequestStop(); }; var d = new Dialog(title, 60, 20, ok, cancel); var lbl = new Label() { X = 0, Y = 1, Text = e.Table.Columns[e.Col].ColumnName }; var tf = new TextField() { Text = oldValue, X = 0, Y = 2, Width = Dim.Fill() }; d.Add(lbl, tf); tf.SetFocus(); Application.Run(d); if (okPressed) { try { e.Table.Rows[e.Row][e.Col] = string.IsNullOrWhiteSpace(tf.Text.ToString()) ? DBNull.Value : (object)tf.Text; } catch (Exception ex) { MessageBox.ErrorQuery(60, 20, "Failed to set text", ex.Message, "Ok"); } tableView.Update(); } }
private void EditCurrentCell(TableView.CellActivatedEventArgs e) { if (e.Table == null) { return; } var oldValue = e.Table.Rows [e.Row] [e.Col].ToString(); if (GetText("Enter new value", e.Table.Columns [e.Col].ColumnName, oldValue, out string newText)) { try { e.Table.Rows [e.Row] [e.Col] = string.IsNullOrWhiteSpace(newText) ? DBNull.Value : (object)newText; } catch (Exception ex) { MessageBox.ErrorQuery(60, 20, "Failed to set text", ex.Message, "Ok"); } tableView.Update(); } }