[英]WPF - Get specific value from List<class>
所以我有List<data> dataList
包括int idx, string tag, string value
帶有此代碼的int idx, string tag, string value
:
List<data> dataList = new List<data>();
foreach (DataRow row in ds.Tables["info"].Rows)
{
dataList.Add(new data() { idx = (int)row["idx"], tag = (string)row["tag"], value = (string)row["value"] });
}
我想從idx,tag,特定索引的值中獲取特定值。 例如,如果idx,tag,value中有3行,我想將所有值都放在textbox-es中,所以我為每個值創建9個textbox-es。 我嘗試了這段代碼,但是我只得到了最后一行的值。 我意識到這里的代碼是為了獲得所有價值,並且只打印最后一個。
foreach (data item in dataList)
{
idx1.Text = item.idx.ToString();
tag1.Text = item.tag.ToString();
value1.Text = item.value.ToString();
}
但是我意識到這里的代碼是獲得所有價值,並且只打印最后一個。 我如何用dataList中的所有值填充我的所有文本框?
據我所知,您擁有動態數量的DataRows。 創建靜態數量的TextBox來容納它們的值(就像使用idx1
, tag1
和value1
)不是解決問題的最佳方法。
ListView
可以容納動態數量的行,因此它更適合您的情況。
您可以這樣定義它:
<ListView x:Name="listView">
<ListView.View>
<GridView>
<GridViewColumn Header="Idx" DisplayMemberBinding="{Binding idx}"/>
<GridViewColumn Header="Tag" DisplayMemberBinding="{Binding tag}"/>
<GridViewColumn Header="Value" DisplayMemberBinding="{Binding value}"/>
</GridView>
</ListView.View>
</ListView>
並添加以下內容:
foreach (data item in dataList)
{
listView.Items.Add(item);
}
解決了
我自己嘗試過,而dataList[i].idx.ToString()
是我的答案。 所以我只需要做一個循環:
for (int i = 0; i < idxBox.Count; i++)
{
idxBox[i].Text = dataList[i].idx.ToString();
tagBox[i].Text = dataList[i].tag;
valueBox[i].Text = dataList[i].value;
}
但在此之前,我為idx,tag和value創建了3個列表
List<TextBox> idxBox = new List<TextBox>();
List<TextBox> tagBox = new List<TextBox>();
List<TextBox> valueBox = new List<TextBox>();
並在其中添加文本框名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.