我已经开始使用WPF和C#来帮助我的公司设计一个小应用程序。目标是能够查找零件号,在网格视图中显示所有可能的匹配,最后能够更新网格中的零件。数据是从SQL表上的单个表中提取的。
我从其他示例中提取了大部分代码,并将其付诸实践。但是我对后续步骤感到困惑,以便让编辑工作。
代码如下:
XML CODE
<Window x:Class="SQLtests.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="387" Width="783">
<Grid>
<DataGrid Name="Master" Margin="10,130,10,10" CanUserAddRows="True" CanUserDeleteRows="True" IsTabStop="True" IsReadOnly="False" ItemsSource="{Binding}"/>
<Button x:Name="Search" Content="Search" Height="19" Margin="140,30,535,311" Width="100" HorizontalAlignment="Left" VerticalAlignment="Top" Click="okSreach"/>
<TextBox x:Name="PartNumber" HorizontalAlignment="Left" Height="19" Margin="10,30,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="100"/>
</Grid>
C#代码
namespace SQLtests
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void okSreach(object sender, RoutedEventArgs e)
{
string ConString = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
string CmdString = string.Empty;
using (SqlConnection con = new SqlConnection(ConString))
{
CmdString = "SELECT PartsNumber, NewGMNumber, Interchange1 FROM Rydell.Master WHERE NewGMNumber = " + "'" + PartNumber.Text + "'";
SqlCommand cmd = new SqlCommand(CmdString, con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable("Master");
sda.Fill(dt);
Master.ItemsSource = dt.DefaultView;
}
}
}
}
一切正常,因为我能够搜索一个部分,但是我已经阅读了许多不同的来源和想法,让内联编辑工作令人困惑。 我也可能在我的头上,因为我刚刚开始,欢迎任何有关C#和WPF的好书,网站等
答案 0 :(得分:0)
我宁愿使用ObservableCollection来绑定而不是数据表, 我在WPF找到了, 如果你使用像ListView甚至ListBox这样的控件,它会让生活变得更轻松, 在那里你可以更自由地根据自己的需要自定义控件。
一定要使用INotifyPropertyChanged,基本样本会是这样的......
您希望与listview一起使用的是gridview的数据完成或CellTemplte。
以下是您http://www.wpf-tutorial.com/datagrid-control/custom-columns/
的示例^ - ^