分析DataGrid.SelectedItems(绑定到MySql DataTable)时要强制转换为的对象的类型
本文关键字:转换 类型 对象 SelectedItems DataGrid 绑定 DataTable MySql 分析 | 更新日期: 2023-09-27 18:00:08
我有一个简单的C# / WPF
应用程序,它将MySql数据库读取到DataGrid中。
<DataGrid Height="470" Width="800" AutoGenerateColumns="True" CanUserResizeColumns="True" CanUserReorderColumns="True" x:Name="DgrReadWrite" ItemsSource="{Binding ''}" HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" />
我将Sql数据加载到其中,如下所示:
string connStr = Service.getConnectionString();
string sql = "SELECT * FROM adat";
try
{
MySqlConnection connection = new MySqlConnection(connStr);
MySqlCommand cmdSel = new MySqlCommand(sql, connection);
MySqlDataAdapter da2 = new MySqlDataAdapter(cmdSel);
da2.Fill(this.dt2);
DgrReadWrite.DataContext = dt2;
}
catch (Exception ex)
{
MessageBox.Show("MySQL kapcsolódási hiba!", "Hiba!", MessageBoxButton.OK, MessageBoxImage.Error);
}
当我按下删除按钮时,会发生以下情况:
for (int i = 0; i < this.dt2.Rows.Count; i++)
{
// looping through DgrReadWrite.SelectedItems.Cast<SomethingReadable??>
if (somethingReadable[0] == this.dt2.Rows[i][0].ToString())
{
dt2.Rows[i].Delete();
DgrReadWrite.Items.Refresh();
}
}
我的问题是:我应该对所选项目进行什么类型的投射,以便在方法中理解它们?提前谢谢。
使用DataRowView很容易解析数据。
foreach (DataRowView drRow in DgrReadWrite.SelectedItems)
{
listOfRowsToDelete.Add(drRow.Row);
// put index numbers into a string for MySQL query
ids = ids + drRow["index"] + ",";
}