我有一个窗口,可以生成文本框和我的数据库中列的复选框:Image 所以如果我改变了一些东西并点击保存。我想保存这些。所以我需要一个带有许多文本框的每个循环。
有没有办法检测多个文本框?
以下是一些代码如何创建文本框和复选框的代码:
public firmCustomerTable()
{
InitializeComponent();
MySqlConnection connection;
config conf = new config();
connection = new MySqlConnection(conf.connection_string);
DataTable schema = null;
using (var con = new MySqlConnection(conf.connection_string))
{
using (var schemaCommand = new MySqlCommand("SELECT * FROM firmenkunden", con))
{
con.Open();
using (var reader = schemaCommand.ExecuteReader(CommandBehavior.SchemaOnly))
{
schema = reader.GetSchemaTable();
}
}
}
foreach (DataRow col in schema.Rows)
{
System.Windows.Controls.TextBox newTxt = new TextBox();
System.Windows.Controls.CheckBox onoff = new CheckBox();
// Add Label
newTxt.Text = col.Field<String>("ColumnName");
newTxt.Name = col.Field<String>("ColumnName");
newTxt.Width = 200;
// Add OnOff
onoff.HorizontalAlignment = HorizontalAlignment.Center;
onoff.Style = (Style)FindResource("CheckBoxStyle1");
onoff.VerticalAlignment = VerticalAlignment.Center;
// Add To Panel
sp.Children.Add(newTxt);
sp.Children.Add(onoff);
}
}
答案 0 :(得分:1)
在你的表格中
using System.Linq
使用扩展程序。然后,您可以使用OfType<>
方法获取放在面板上的所有TextBox
控件,如下所示:
List<TextBox> textboxes = sp.Children.OfType<TextBox>().ToList();
然后你可以使用文本框列表来完成你的工作。 另外,要计算:
int count = textboxes.Count;