所以我的列更新有问题,据我所知,它的更新很好,但由于某种原因,应该检查的实际复选框不是。我似乎无法弄清楚为什么所有值都设置为 true。
using (IDbConnection connection = sessionFactory.ConnectionProvider.GetConnection())
{
if (TableExists(connection, "tbl_ecom_cat_feature") &&
ColumnExists(connection, "tbl_ecom_cat_feature", "display_on_search"))
{
using (IDbCommand cmd = connection.CreateCommand())
{
cmd.CommandText = "UPDATE tbl_ecom_cat_feature SET display_on_search = 1";
cmd.ExecuteNonQuery();
}
}
编辑:我刚刚意识到,在我的 Checkbox_Check 方法中,我实际上并没有放入任何东西来检查它是否已被检查...我实际上不确定如何从 SQL 列中获取数据以查看它是否正确以及是否正确是,返回选中的框。
我在其中显示复选框的代码:
public class StringToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value != null && value is string)
{
var input = (string)value;
if (string.IsNullOrEmpty("Name"))
{
return Visibility.Collapsed;
}
else
{
return Visibility.Visible;
}
}
return Visibility.Visible;
}
显示这些复选框的 WPF 代码如下:
<GridViewColumn Header="Display On Search">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Visibility="{Binding StringToVisibilityConverter}" IsChecked="{Binding StringToVisibilityConverter}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>