我正在编写一个应用程序,其中显示了所有国家/地区。它还应编辑所选国家/地区的信息。 我从azure数据库中获取所有数据,到目前为止一切都很好。 Current Result
这是我的数据库结构: Database Structure 如你所见,各大洲都在不同的桌子上。 我也可以在下拉列表in the dropdown
中显示所有大陆我想展示一下这个国家的当前大陆。 你如何将ContinentID链接到大陆? Bellow是MainWindow.xaml的代码
<TextBlock Text="Continent" Margin="0 10 0 0"/>
<ComboBox ItemsSource="{Binding Path=Continenten}"
DisplayMemberPath="ContinentNaam"
SelectedValuePath="{Binding CurrentLand.ContinentID}"
SelectedValue="{Binding CurrentLand.ContinentID}" />
我尝试了SelectedValuePath
&amp; SelectedValue
但到目前为止没有。
例如,当 ContinentID 为2时,它应显示&#39; Europe&#39;
答案 0 :(得分:0)
DisplayMemberPath
与"ContinentID"
类似:正在显示的项目的属性名称,或该项目属性的属性路径。所以它应该是value属性的名称。可能是<ComboBox
ItemsSource="{Binding Path=Continenten}"
DisplayMemberPath="ContinentNaam"
SelectedValuePath="ContinentID"
SelectedValue="{Binding CurrentLand.ContinentID}"
/>
:
CurrentLand
如果您的意图是将新的大陆ID分配给当前选定的土地(CurrentLand
),这将有效。如果您只想显示 IsReadOnly="True"
的大陆,而不是让用户将其更改为其他内容,请将import org.apache.spark.sql.expressions._
import org.apache.spark.sql.functions._
val w = Window.partitionBy("key").orderBy("item_desc")
val df = Seq(
(1, "desc1"), (1, "desc2"), (1, "desc3"),
(1, "desc4"), (1, "desc5"), (1, "desc6")
).toDF("key", "item_desc")
df
// Add sequential id for group 0 .. n - 1
.withColumn("id", row_number.over(w) - 1)
// Add row group id
.withColumn("group_id", floor($"id" / 4))
// Add column group id
.withColumn("column_id", concat(lit("item_desc"), $"id" % 4))
.groupBy("key", "group_id")
.pivot("column_id")
.agg(first("item_desc"))
.drop("group_id").show
// +---+----------+----------+----------+----------+
// |key|item_desc0|item_desc1|item_desc2|item_desc3|
// +---+----------+----------+----------+----------+
// | 1| desc1| desc2| desc3| desc4|
// | 1| desc5| desc6| null| null|
// +---+----------+----------+----------+----------+
添加到您的ComboBox。