在WPF中我新建了一个datagrid,我现在想把列绑定到数据库不同的表里的列,怎么实现

在WPF中我新建了一个datagrid,我现在想把列绑定到数据库不同的表里的列,怎么实现,第1张

这是SQL语句的问题你可以这样SELECT FROM [TABLE1] A LEFT JOIN [TABLE2] B ON AID=BID LEFT JOIN [TABLE3] C ON AID=CID再把换成你要查找的字段名比如你要找TABLE1里面的Name字段TABLE2里面的Photo字段和TABLE3里面的Class字段你可以这样写SELECT AName,BPhoto,CClass FROM [TABLE1] A LEFT JOIN [TABLE2] B ON AID=BID LEFT JOIN [TABLE3] C ON AID=CID然后再后台写代码往DataGrid里面加数据

private void datePicker1_SelectedDateChanged(object sender, SelectionChangedEventArgs e)

{

textblockText = datePicker1SelectedDateValueToString("yyyy/MM/dd");

}

//创建一个DataTable用于存储数据,有两列:Name,Value DataTable dt = new DataTable();dtColumnsAdd("Name");dtColumnsAdd("Value");dtRowsAdd("请选择", -1);dtRowsAdd("张三", 1);dtRowsAdd("李四", 2);dtRowsAdd("王五", 3); //将Combobox绑定到DataTable,Name列显示到画面上,Value列是对应的数据comboBox1DataSource = dt;comboBox1DisplayMember = "Name";comboBox1ValueMember = "Value"; //在combobox的SelectedIndexChanged事件中添加如下方法private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){ string value = thiscomboBox1SelectedValueToString(); ConsoleWriteLine("当前选中的是 " + value);}

WINFORM的控件可以直接在WPF中使用,放在WindowsFormsHost里面。

                                <WindowsFormsHost GridRow="1"

                                                  Background="Transparent">

                                    <winform:PropertyGrid x:Name="pgProperty"

                                                          PropertyValueChanged="pgProperty_PropertyValueChanged"

                                                          ToolbarVisible="False" />

                                </WindowsFormsHost>

WPF里的Frame控件自带导航栏,不过和你的有点差异,你可以试试。

首先需要注意的一点是 你所描述的关闭是 关闭应用程序还是只关闭对话框。如果只关闭对话框,那么你只需要在后台定义一个数据集合或者变量去存储你需要保存的东西。比如你前台一个DataGrid,它的ItemSource绑定后台一个数据集合。你在前台做增删改,其实是对后台的这个数据集合做 *** 作。当你关闭窗口再打开这个窗口的话,DataGrid还是会显示后台的这个ItemSource。如果关闭的是应用程序的话,这就涉及到数据的读写 *** 作。你可能将数据保存在本地的某个文件里(如xml,txt等)也可能保存在数据库里。这个就需要你在后台编码相关的读写 *** 作类。网上有很多相关资源,你可以搜索下。

推荐用linq to entities访问数据库,加上mvvm模式,就是比较好的构架了。

具体的实现你可以参考微软的示例,在vs2010的安装目录下有叫C:\Program Files\Microsoft Visual Studio 100\Samples\2052\CSharpSamples\DataSamples\Entity Framework这个解决方案,具体路径和你的安装目录相关。我还把它传到附件了。

sqlite顾名思义,light就是轻量级的意思,只有几百k,不需要安装

请到这里下载>

使用ValidationRule。以下为示例:

Binding testBinding = new Binding();

testBindingValidationRulesAdd(new IPv4ValidationRule());//添加验证,根据数据类型添加不一样的验证类

testBindingMode = BindingModeTwoWay;

testBindingUpdateSourceTrigger = UpdateSourceTriggerPropertyChanged;

testBindingPath = new PropertyPath("[" + myTextBoxName + "]Permit");//绑定源路径

testBindingSource = dic; //绑定源,

myTextBoxSetBinding(TextBoxTextProperty ,testBinding );//绑定目标属性

数据验证也是加的数据验证类继承ValidationRule。

public class IPv4ValidationRule : ValidationRule

{

public override ValidationResult Validate(object value, CultureInfo cultureInfo)

{

var str = value as string;

if (StringIsNullOrEmpty(str))

{

MessageBoxShow("请输入日期。");

//return new ValidationResult(false,

// "Please enter an IP Address");

}

return new ValidationResult(true, null);

}

}

以上就是关于在WPF中我新建了一个datagrid,我现在想把列绑定到数据库不同的表里的列,怎么实现全部的内容,包括:在WPF中我新建了一个datagrid,我现在想把列绑定到数据库不同的表里的列,怎么实现、WPF DatePicker选择时间时候没有时分秒,但是存到数据库中时候就有时分秒了默认0,怎么保存才能去掉时分秒呢、WPF中combobox控件绑定MySql数据库中的数据表的某一列的示例代码,要详细点的。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9533707.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存