您的位置:首页 > 其它

[置顶] WPF数据修改demo

2013-07-29 19:49 190 查看
今天晚上研究了下wpf,现在把代码贴出来供大家学习参考

sql语句:

create table userinfos
(

ContactID int primary key identity(1,1),
FirstName varchar(100),
LastName varchar(100),
EmailAddress varchar(100)
)
go
insert into userinfos values('wanglei','aa','72121222@qq.com');
insert into userinfos values('qss','bb','23432354@qq.com');
insert into userinfos values('gdgg','cc','rgter@qq.com');
insert into userinfos values('cvvd','dd','5446567576@qq.com');
select ContactID,FirstName,LastName,EmailAddress from userinfos where ContactID<=100

MainWindow.xaml前台代码

<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Closed="Window_Closed"
Title="MainWindow" Height="350" Width="525">
<Grid>

<Grid.RowDefinitions>

<RowDefinition Height="*" />

<RowDefinition Height="Auto" />

<RowDefinition Height="22" />

</Grid.RowDefinitions>

<ListView Name="listView1" MinWidth="280" >

<ListView.View>

<GridView x:Name="gridView1">

<GridViewColumn Header="ContactID" DisplayMemberBinding="{Binding Path=ContactID}"></GridViewColumn>

<GridViewColumn Header="FirstName" DisplayMemberBinding="{Binding Path=FirstName}"></GridViewColumn>

<GridViewColumn Header="LastName" DisplayMemberBinding="{Binding Path=LastName}"></GridViewColumn>

<GridViewColumn Header="EmailAddress" DisplayMemberBinding="{Binding Path=EmailAddress}"></GridViewColumn>

</GridView>

</ListView.View>

</ListView>

<WrapPanel Grid.Row="1" Orientation="Horizontal" DataContext="{Binding ElementName=listView1,Path=SelectedItem}">

<StackPanel Orientation="Horizontal" Margin="5,2,5,2">

<TextBlock Name="textBlock_ContactID" Text="ContactID:" />

<TextBox Name="textBox_ContactID" MinWidth="100" Text="{Binding ContactID}" />

</StackPanel>

<StackPanel Orientation="Horizontal" Margin="5,2,5,2">
<TextBlock Name="textBlock_FirstName" Text="FirstName:" />

<TextBox Name="textBox_FirstName" MinWidth="100" Text="{Binding FirstName,UpdateSourceTrigger=PropertyChanged }" />

</StackPanel>

<StackPanel Orientation="Horizontal" Margin="5,2,5,2">

<TextBlock Name="textBlock_LastName" Text="LastName:" />

<TextBox Name="textBox_LastName" MinWidth="100" Text="{Binding LastName}" />

</StackPanel>

<StackPanel Orientation="Horizontal" Margin="5,2,5,2">

<TextBlock Name="textBlock_EmailAddress" Text="EmailAddress:" />

<TextBox Name="textBox_EmailAddress" MinWidth="100" Text="{Binding EmailAddress}" />

</StackPanel>

</WrapPanel>

<Button Grid.Row="2" HorizontalAlignment="Right" Click="button1_Click" Name="button1">Refresh</Button>

</Grid>

</Window>

后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data.SqlClient;
using System.Data;
namespace WpfApplication1
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
getData();

}
SqlDataAdapter sda;
DataTable dt;
//关闭窗体
private void Window_Closed(object sender, EventArgs e)
{

sda.Update(dt);
}

void getData()
{

SqlConnectionStringBuilder connbuilder = new SqlConnectionStringBuilder();

connbuilder.DataSource = ".";

connbuilder.IntegratedSecurity = true;

connbuilder.InitialCatalog = "wl";

SqlConnection conn = new SqlConnection(connbuilder.ConnectionString);

sda = new SqlDataAdapter("select * from userinfos;", conn);

SqlCommandBuilder commbuilder = new SqlCommandBuilder(sda);

sda.UpdateCommand = commbuilder.GetUpdateCommand();

dt = new DataTable();

sda.AcceptChangesDuringUpdate = true;

sda.Fill(dt);

listView1.ItemsSource = dt.DefaultView;

}

//更新
private void button1_Click(object sender, RoutedEventArgs e)
{

sda.Update(dt);

getData();

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: