我想要实现的是从用户(userID)获取一个存储在TextBox中的参数。用户在TextBox中输入一个示例UserID,单击“查看”按钮,相应列中的一些记录将显示在屏幕上的文本框中。我不想使用DataGrid,因为它总是看起来像表:)。
问题是我不知道如何将用户输入放入我的DB2Command中,然后在屏幕上的文本框中显示select中的一些值:/。
这是我的代码:
查看按钮
iDB2Connection nc = new iDB2Connection();
nc.ConnectionString = "DataSource=vf05.it.volvo.se; DefaultCollection=VF05;";
nc.Open();
iDB2Command cmd = new iDB2Command("Select AAUSER, AANODE, AAORGN from library.file where AAUSER = @UserID ", nc);
cmd.Parameters.AddWithValue("UserID", UserInput.Text);
iDB2DataReader dr = cmd.ExecuteReader();
我应该向UserInput textBox添加什么代码以及如何在文本框中显示选择结果? 我甚至可以使用DataGrid,然后在文本框中显示DataGrid中的一些值,但我不知道如何在DataGrid中显示ExecuteReader显示。我可能应该阅读一些关于数据绑定的文章......
P.S
我试图使用此
将select语句的结果放入DataGridiDB2DataReader dr = cmd.ExecuteReader();
dataGrid1.ItemsSource = dr;
其中cmd是:
iDB2Command cmd = new iDB2Command("Select AAUSER, AANODE, AAORGN from T0T02PD.T0F001 where AAUSER = 'A0390944' ", nc);
这似乎工作正常,但无论如何我想将所选列中的数据放入TextBoxes。怎么做到这一点?
答案 0 :(得分:0)
您可以在ViewModel中的属性上创建一个带有Binding的TextBox,并将绑定放在mode = TwoWay中,以便从用户界面更新ViewModel值。
在ViewModel中:
public int UserID { get; set; }
在您的Xaml中:
<TextBox Text="{Binding UserID, mode=TwoWay}"/>
之后,您可以将结果项存储在List中,并将其绑定到ListBox中的ItemsSource属性。
在ViewModel中:
public List<YourResultType> Items { get; private set; }
在您的Xaml中:
<ListBox ItemsSource="{Binding Items}"/>
我希望它会对你有所帮助。