我想在窗口(WPF)中获取具有以下配置的单元格idUsuario的值,该配置使用Visual Studio 2017
<DataGridTextColumn Binding="{Binding Path=idUsuario}" ClipboardContentBinding="{x:Null}" Header="idUsuario" HeaderStringFormat="idUsuario" Visibility="Hidden"/>
由于用户不必看到我将其隐藏的id,因此用户选择具有注册数据的行。通过一个按钮,将获得该记录的id以供以后使用。
填充代码如下用C#
public void llenadoDataGrid()
{
String consulta = "select idUsuario,Nombre,ApellidoP ,ApellidoM ,Sexo,Telefono,Edad,Puesto from usuarios;";
SqlDataAdapter dataAdapter = new SqlDataAdapter(consulta, new BaseDeDatos().obtenerConexion());
DataSet ds = new DataSet();
dataAdapter.Fill(ds);
DataTableCollection collection = ds.Tables;
DataTable table = collection[0];
foreach (DataRow row in table.Rows)
{
var data = new PruebaDeLLenadoDataGrid {idUsuario = row["idUsuario"].ToString(), Nombre = row["Nombre"].ToString(),
ApellidoP = row["ApellidoP"].ToString(), ApellidoM = row["ApellidoM"].ToString(),
Sexo = row["Sexo"].ToString(), Telefono = row["Telefono"].ToString(),
Edad = row["Edad"].ToString(), Puesto = row["Puesto"].ToString() };
dataGridUsuarios.Items.Add(data);
}
}
我使用的另一个名为DataGridFillTest的类 具有以下内容
lass PruebaDeLLenadoDataGrid
{
public String idUsuario { get; set; }
public String Nombre { get; set; }
public String ApellidoP { get; set; }
public String ApellidoM { get; set; }
public String Sexo { get; set; }
public String Telefono { get; set; }
public String Edad { get; set; }
public String Puesto { get; set; }
}
由于我在解决这个问题的过程中帮助了你,所以我会继续处理它。
您可以通过各种方式获得它。
1.- 使用keyUp事件:您可以将其添加到 dataGrid 的函数属性中:
它将自动创建一个这样的函数:
在其中添加其内容,根据您的模型应如下所示:
此功能使用向上和向下键捕获选定的行。
2.- 使用MouseLeftButtonUp事件:
与前一个相同的方式将为您创建一个函数,然后添加逻辑。这将是您的全部功能:
左键单击一行时将触发此事件。
就个人而言,我总是同时实现这两种方法,我建议您也这样做以避免失败,此外还可以让最终用户更易于使用。
在您的情况下,您可以执行以下操作来获取 DataGrid 中的选定用户。
例如,拥有用户您已经可以拥有每个属性的值
试试看你能不能用这种方法解决它。