質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

解決済

1回答

1815閲覧

WPFで、行ボタン押したら上の行と同じ内容を挿入したい、親と子の色情報を共有したい

nya-3

総合スコア27

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

1グッド

0クリップ

投稿2022/03/14 02:12

WPFで、行にボタンを追加し、上の行と同じ内容を挿入したい(行番号を取得したい)

WPF「ObservableCollection」「INotifyCollectionChanged」「Class」が良く分からない
https://teratail.com/questions/1ypxtzrjzwnam0

上記リンクと似たような事がしたかったのですが、
良く分からないため質問させてください。ソースもお借りしました。

前提・実現したいこと

●ボタン列をクリックしたときに、行番号を取得したい
・「追加」列のボタンを押したら、1行上の行をコピーし挿入したい
「画像ファイル」「タイトル」「詳細」を結合させたい(できたらレベルの話なので、出来なくても問題ない)

 ・「削除」列のボタンを押したら、警告を出した後 行を削除したい

●別のxamlで色を選択したいが、子ウィンドウへと親ウィンドウの文字色受け渡しが分からない
・そもそも「Button」にする必要はあったのか…(Webで使える色名を選択できるようにしたかった)
DataGridへのCombobox選択も良いかと思ったのですが、操作性が良くなさそうなのと
WPF初心者な自分には難しそうだったので、別ウィンドウで表示して選択させるようにしようと思いました。
ですが、親フォームにある色を子フォームに持っていく方法・子から親に持っていく方法が分かりません。

該当のソースコード

xaml

1<Window x:Class="nya_3.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 6 xmlns:local="clr-namespace:nya_3" 7 mc:Ignorable="d" 8 Title="MainWindow" Height="450" Width="800"> 9 <Grid> 10 <Grid.RowDefinitions> 11 <RowDefinition /> 12 <RowDefinition Height="Auto" /> 13 </Grid.RowDefinitions> 14 15 <DataGrid AutoGenerateColumns="False" ItemsSource="{Binding}"> 16 <DataGrid.Columns> 17 <DataGridTextColumn Binding="{Binding Mypic}" Header="画像ファイル" /> 18 <DataGridTextColumn Binding="{Binding Title}" Header="タイトル" /> 19 <DataGridTextColumn Binding="{Binding Detail}" Header="詳細" /> 20 <DataGridTemplateColumn Header="色"> 21 <DataGridTemplateColumn.CellTemplate> 22 <DataTemplate> 23 <Button Content="White" Click="Color_Click" Background="White"/> 24 </DataTemplate> 25 </DataGridTemplateColumn.CellTemplate> 26 </DataGridTemplateColumn> 27 <DataGridTextColumn Header="次リンク" Binding="{Binding Nextlink}" /> 28 <DataGridTemplateColumn Header="追加"> 29 <DataGridTemplateColumn.CellTemplate> 30 <DataTemplate> 31 <Button Content="+" Click="Add_Click" Tag="{Binding}" Background="White" /> 32 </DataTemplate> 33 </DataGridTemplateColumn.CellTemplate> 34 </DataGridTemplateColumn> 35 <DataGridTemplateColumn Header="削除"> 36 <DataGridTemplateColumn.CellTemplate> 37 <DataTemplate> 38 <Button Content="-" Click="Del_Click" Tag="{Binding}" Background="White"/> 39 </DataTemplate> 40 </DataGridTemplateColumn.CellTemplate> 41 </DataGridTemplateColumn> 42 </DataGrid.Columns> 43 </DataGrid> 44 45 <UniformGrid Grid.Row="1" HorizontalAlignment="Center" Rows="1"> 46 <Button Margin="10" Click="SaveButton_Click" Content="Save" /> 47 <Button Margin="10" Click="LoadButton_Click" Content="Load" /> 48 <Button Margin="10" Click="AddButton_Click" Content="Add" /> 49 </UniformGrid> 50 </Grid> 51</Window> 52

C#

1using System; 2using System.Collections.Generic; 3using System.Collections.ObjectModel; 4using System.IO; 5using System.Linq; 6using System.Text; 7using System.Threading.Tasks; 8using System.Windows; 9using System.Windows.Controls; 10using System.Windows.Data; 11using System.Windows.Documents; 12using System.Windows.Input; 13using System.Windows.Media; 14using System.Windows.Media.Imaging; 15using System.Windows.Navigation; 16using System.Windows.Shapes; 17using System.Xml.Serialization; 18 19namespace nya_3 20{ 21 /// <summary> 22 /// MainWindow.xaml の相互作用ロジック 23 /// </summary> 24 public partial class MainWindow : Window 25 { 26 27 public class Item 28 { 29 [XmlAttribute] public string Mypic { get; set; } 30 [XmlAttribute] public string Title { get; set; } 31 [XmlAttribute] public string Detail { get; set; } 32 [XmlAttribute] public string Nextlink { get; set; } 33 [XmlAttribute] public bool Isedit { get; set; } 34 35 } 36 37 public ObservableCollection<Item> Items { get; private set; } = new ObservableCollection<Item>(); 38 public MainWindow() 39 { 40 InitializeComponent(); 41 Items.Add(new Item { Mypic = "1.jpeg", Title = "タイトル1", Detail = "詳細1", Nextlink="2.jpeg", }); 42 Items.Add(new Item { Mypic = "2.jpeg", Title = "タイトル2", Detail = "詳細2", Nextlink = "1.jpeg" ,}); 43 Items.Add(new Item { Mypic = "3.jpeg", Title = "タイトル3", Detail = "詳細3", Nextlink = "3.jpeg", }); 44 DataContext = Items; 45 } 46 47 private void SaveButton_Click(object sender, RoutedEventArgs e) 48 { 49 var serializer = new XmlSerializer(Items.GetType()); 50 using (var fs = new FileStream("mydata.xml", FileMode.Create)) 51 serializer.Serialize(fs, Items); 52 } 53 54 private void LoadButton_Click(object sender, RoutedEventArgs e) 55 { 56 57 var serializer = new XmlSerializer(Items.GetType()); 58 using (var fs = new FileStream("mydata.xml", FileMode.Open)) 59 { 60 Items = (ObservableCollection<Item>)serializer.Deserialize(fs); 61 62 // Items自体の変更は通知されないので明示的に入れ替え 63 // INotifyPropertyChangedを実装するか、Clear・Addするか 64 DataContext = null; 65 DataContext = Items; 66 } 67 } 68 69 private void AddButton_Click(object sender, RoutedEventArgs e) 70 { 71 Items.Add(new Item {Isedit = true, }); 72 } 73 74 private void Add_Click(object sender, RoutedEventArgs e) 75 { 76 Console.WriteLine((((Button)sender).Tag as Item).Title); 77 //クリックした行と部分的に同じものを、1つ下の行に挿入したい 78 Items.Insert(1, new Item { Title = $"タイトル{1}", Detail = $"詳細{1}", }); 79 //やり方が分からなかったため、とりあえず1行目の下にInsert 80 } 81 82 private void Del_Click(object sender, RoutedEventArgs e) 83 { 84 //クリックした行を削除したい 85 Console.WriteLine((((Button)sender).Tag as Item).Title); 86 //やり方は不明 87 } 88 } 89} 90

子ウィンドウ

xaml

1<Window x:Class="nya_3.ColorSelectWin" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 6 xmlns:local="clr-namespace:nya_3" 7 mc:Ignorable="d" 8 Title="ColorSelectWin" Height="180" Width="300"> 9 <Grid> 10 <StackPanel Orientation="Vertical"> 11 <StackPanel Orientation="Horizontal" Height="30"> 12 <Button Content="1" Width="30" Background="black"></Button> 13 <Button Content="1" Width="30" Background="darkslategray"></Button> 14 <Button Content="1" Width="30" Background="slategray"></Button> 15 <Button Content="1" Width="30" Background="lightslategray"></Button> 16 <Button Content="1" Width="30" Background="dimgray"></Button> 17 <Button Content="1" Width="30" Background="gray"></Button> 18 <Button Content="1" Width="30" Background="darkgray"></Button> 19 <Button Content="1" Width="30" Background="silver"></Button> 20 <Button Content="1" Width="30" Background="lightgray"></Button> 21 <Button Content="1" Width="30" Background="gainsboro"></Button> 22 </StackPanel> 23 <StackPanel Orientation="Horizontal" Height="30"> 24 <Button Content="1" Width="30" Background="white"></Button> 25 <Button Content="1" Width="30" Background="mintcream"></Button> 26 <Button Content="1" Width="30" Background="azure"></Button> 27 <Button Content="1" Width="30" Background="aliceblue"></Button> 28 <Button Content="1" Width="30" Background="ghostwhite"></Button> 29 <Button Content="1" Width="30" Background="whitesmoke"></Button> 30 <Button Content="1" Width="30" Background="seashell"></Button> 31 <Button Content="1" Width="30" Background="beige"></Button> 32 <Button Content="1" Width="30" Background="lavenderblush"></Button> 33 <Button Content="1" Width="30" Background="mistyrose"></Button> 34 </StackPanel> 35 <StackPanel Orientation="Horizontal" Height="30"> 36 <Button Content="1" Width="30" Background="orangered"></Button> 37 <Button Content="1" Width="30" Background="darkorange"></Button> 38 <Button Content="1" Width="30" Background="red"></Button> 39 <Button Content="1" Width="30" Background="tomato"></Button> 40 <Button Content="1" Width="30" Background="coral"></Button> 41 <Button Content="1" Width="30" Background="gold"></Button> 42 <Button Content="1" Width="30" Background="yellow"></Button> 43 <Button Content="1" Width="30" Background="lightyellow"></Button> 44 <Button Content="1" Width="30" Background="violet"></Button> 45 <Button Content="1" Width="30" Background="pink"></Button> 46 </StackPanel> 47 </StackPanel> 48 </Grid> 49</Window>

※文字数のため、SlackPanelを2行分削除

試したこと

調べると「e.RowIndex」というので取得できそうだと思ったのですが、
e.と入力した後の候補に出てこないため利用できないと判断しました。
DataTableを利用していたら可能なもの?なのかもしれません。
ググッても見つかりませんでした…。

補足情報(FW/ツールのバージョンなど)

.Net FrameWork 4.7.2

TN8001👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ボタン列をクリックしたときに、行番号を取得したい
・「追加」列のボタンを押したら、1行上の行をコピーし挿入したい

DataGridは列ヘッダーをクリックすると並び替える機能が標準で入っています。
その行のインデックスを取得することはできますが、その上(下?)というのは並び順次第になります。

Itemsの中だけの話(DataGridでは並び替えない)であれば難しいことはありません。
ObservableCollectionは(アイテム増減の)通知機能のあるコレクションですが、通常のListと同じことができます。
IndexOfInsertでいいでしょう。
Collection<T>.IndexOf(T) メソッド (System.Collections.ObjectModel) | Microsoft Docs
Collection<T>.Insert(Int32, T) メソッド (System.Collections.ObjectModel) | Microsoft Docs

「画像ファイル」「タイトル」「詳細」を結合させたい(できたらレベルの話なので、出来なくても問題ない)

セルの結合?データの取得?ちょっと意味が分かりませんでした。

・「削除」列のボタンを押したら、警告を出した後 行を削除したい

同様にRemove
Collection<T>.Remove(T) メソッド (System.Collections.ObjectModel) | Microsoft Docs

別のxamlで色を選択したいが、子ウィンドウへと親ウィンドウの文字色受け渡しが分からない
・そもそも「Button」にする必要はあったのか…(Webで使える色名を選択できるようにしたかった)
DataGridへのCombobox選択も良いかと思ったのですが、操作性が良くなさそうなのと
WPF初心者な自分には難しそうだったので、別ウィンドウで表示して選択させるようにしようと思いました。

DataGridComboBoxColumnは確かにいまいちですが、個人的には別窓を出すよりはましだと感じます。
DataGridTemplateColumnComboBoxを使えば操作性もよくなります。

まあウィンドウ間での受け渡しは、初心者が詰まりやすいポイントなのでやってみましょうか。
モーダル(いわゆるダイアログ。閉じないと親を操作できない)か、モードレス(ペイントソフトの色選択窓のように常に表示され、どちらも操作可能)かでだいぶ話が変わります。
ダイアログ ボックスの概要 - WPF .NET | Microsoft Docs

盛り沢山になってしまったのでコードを見てください^^;
わかりにくい点があればコメントしてください^^

MainWindow(親)

xml

1<Window 2 x:Class="Qtfv3nqhv521ip3.MainWindow" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 5 xmlns:local="clr-namespace:Qtfv3nqhv521ip3" 6 Width="800" 7 Height="450"> 8 <Grid> 9 <DataGrid 10 x:Name="dataGrid" 11 AutoGenerateColumns="False" 12 CanUserAddRows="False" 13 ItemsSource="{Binding}" 14 SelectionChanged="DataGrid_SelectionChanged"> 15 <DataGrid.Columns> 16 <DataGridTextColumn Binding="{Binding Title}" Header="タイトル" /> 17 18 <DataGridTemplateColumn Header="色(モーダル)"> 19 <DataGridTemplateColumn.CellTemplate> 20 <DataTemplate> 21 <Button Background="{Binding ColorName}" Click="Color_Click" Content="{Binding ColorName}" /> 22 </DataTemplate> 23 </DataGridTemplateColumn.CellTemplate> 24 </DataGridTemplateColumn> 25 26 <DataGridTemplateColumn Header="色(モードレス)"> 27 <DataGridTemplateColumn.CellTemplate> 28 <DataTemplate> 29 <Button Background="{Binding ColorName}" Click="Color2_Click" Content="{Binding ColorName}" /> 30 </DataTemplate> 31 </DataGridTemplateColumn.CellTemplate> 32 </DataGridTemplateColumn> 33 34 <DataGridTemplateColumn Header=""> 35 <DataGridTemplateColumn.CellTemplate> 36 <DataTemplate> 37 <ComboBox ItemsSource="{Binding Source={x:Static local:MainWindow.Colors}}" SelectedItem="{Binding ColorName, UpdateSourceTrigger=PropertyChanged}"> 38 <ComboBox.ItemTemplate> 39 <DataTemplate> 40 <Ellipse Width="20" Height="20" Fill="{Binding}" /> 41 </DataTemplate> 42 </ComboBox.ItemTemplate> 43 </ComboBox> 44 </DataTemplate> 45 </DataGridTemplateColumn.CellTemplate> 46 </DataGridTemplateColumn> 47 48 <DataGridTemplateColumn Header="追加"> 49 <DataGridTemplateColumn.CellTemplate> 50 <DataTemplate> 51 <Button Click="Add_Click" Content="+" /> 52 </DataTemplate> 53 </DataGridTemplateColumn.CellTemplate> 54 </DataGridTemplateColumn> 55 <DataGridTemplateColumn Header="削除"> 56 <DataGridTemplateColumn.CellTemplate> 57 <DataTemplate> 58 <Button Click="Del_Click" Content="-" /> 59 </DataTemplate> 60 </DataGridTemplateColumn.CellTemplate> 61 </DataGridTemplateColumn> 62 </DataGrid.Columns> 63 </DataGrid> 64 </Grid> 65</Window>

cs

1using System.Collections.ObjectModel; 2using System.ComponentModel; 3using System.Diagnostics; 4using System.Runtime.CompilerServices; 5using System.Windows; 6using System.Windows.Controls; 7using System.Xml.Serialization; 8 9namespace Qtfv3nqhv521ip3 10{ 11 public class Item : INotifyPropertyChanged 12 { 13 [XmlAttribute] public string Title { get; set; } 14 15 // ColorSelectWindowでリアルタイムに変更を反映させたいのでINotifyPropertyChangedを実装する 16 [XmlAttribute] 17 public string ColorName { get => _ColorName; set => Set(ref _ColorName, value); } 18 private string _ColorName; 19 20 #region INotifyPropertyChanged 21 public event PropertyChangedEventHandler PropertyChanged; 22 protected void Set<T>(ref T storage, T value, [CallerMemberName] string propertyName = null) 23 { 24 if (Equals(storage, value)) return; 25 storage = value; 26 OnPropertyChanged(propertyName); 27 } 28 protected void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); 29 #endregion 30 } 31 32 public partial class MainWindow : Window 33 { 34 public static string[] Colors { get; } = { 35 "Black", "DarkSlateGray", "SlateGray", "LightSlateGray", "DimGray", "Gray", "DarkGray", "Silver", "LightGray", "Gainsboro", 36 }; 37 38 public ObservableCollection<Item> Items { get; private set; } = new ObservableCollection<Item>(); 39 40 // 複数開かないように表示非表示の切り替えにする 41 private readonly ColorSelectWindow window = new ColorSelectWindow { Visibility = Visibility.Hidden, }; 42 43 44 public MainWindow() 45 { 46 InitializeComponent(); 47 Items.Add(new Item { Title = "タイトル1", ColorName = "White", }); 48 DataContext = Items; 49 } 50 51 private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) => window.DataContext = dataGrid.SelectedItem; 52 53 private void Color_Click(object sender, RoutedEventArgs e) // モーダル 54 { 55 // Tagに入れるまでもなく、DataContextに入っています 56 if (((Button)sender).DataContext is Item item) 57 { 58 var dialog = new ColorSelectDialog { Owner = this, }; 59 if (dialog.ShowDialog() == true) 60 { 61 // いろいろな方法はあるが、お手軽に直接ListBoxを公開して取ってくる 62 item.ColorName = dialog.ListBox.SelectedItem as string; 63 } 64 } 65 } 66 67 private void Color2_Click(object sender, RoutedEventArgs e) // モードレス 68 { 69 window.Visibility = Visibility.Visible; 70 window.Owner = this; 71 } 72 73 private void Add_Click(object sender, RoutedEventArgs e) 74 { 75 if (((Button)sender).DataContext is Item item) 76 { 77 //クリックした行と部分的に同じものを、1つ下の行に挿入 78 var i = Items.IndexOf(item); 79 Items.Insert(i + 1, new Item { Title = item.Title, }); 80 81 82 // 見た目上の行番号を取得 83 var row = dataGrid.ItemContainerGenerator.ContainerFromItem(item) as DataGridRow; 84 Debug.WriteLine(row?.GetIndex()); 85 } 86 } 87 88 private void Del_Click(object sender, RoutedEventArgs e) 89 { 90 if (((Button)sender).DataContext is Item item) 91 { 92 var r = MessageBox.Show("削除します。いいですか?", "", MessageBoxButton.YesNo, MessageBoxImage.Information); 93 if (r == MessageBoxResult.Yes) 94 { 95 Items.Remove(item); //クリックした行を削除 96 } 97 } 98 } 99 } 100}

ColorSelectDialog(モーダル)

xml

1<Window 2 x:Class="Qtfv3nqhv521ip3.ColorSelectDialog" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 5 xmlns:local="clr-namespace:Qtfv3nqhv521ip3" 6 Title="ColorSelectDialog" 7 ResizeMode="NoResize" 8 ShowInTaskbar="False" 9 SizeToContent="WidthAndHeight" 10 WindowStartupLocation="CenterOwner"> 11 <DockPanel> 12 <StackPanel HorizontalAlignment="Right" DockPanel.Dock="Bottom" Orientation="Horizontal"> 13 <Button Click="OkButton_Click" Content="OK" /> 14 <Button Click="CancelButton_Click" Content="キャンセル" /> 15 </StackPanel> 16 <Grid> 17 <ListBox x:Name="ListBox" ItemsSource="{Binding Source={x:Static local:MainWindow.Colors}}" SelectedIndex="0"> 18 <ListBox.ItemsPanel> 19 <ItemsPanelTemplate> 20 <UniformGrid Columns="10" /> 21 </ItemsPanelTemplate> 22 </ListBox.ItemsPanel> 23 <ListBox.ItemTemplate> 24 <DataTemplate> 25 <Ellipse Width="30" Height="30" Fill="{Binding}" /> 26 </DataTemplate> 27 </ListBox.ItemTemplate> 28 </ListBox> 29 </Grid> 30 </DockPanel> 31</Window>

cs

1using System.Windows; 2 3namespace Qtfv3nqhv521ip3 4{ 5 public partial class ColorSelectDialog : Window 6 { 7 public ColorSelectDialog() => InitializeComponent(); 8 9 private void OkButton_Click(object sender, RoutedEventArgs e) => DialogResult = true; 10 11 private void CancelButton_Click(object sender, RoutedEventArgs e) => DialogResult = false; 12 } 13}

ColorSelectWindow(モードレス)

xml

1<Window 2 x:Class="Qtfv3nqhv521ip3.ColorSelectWindow" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 5 xmlns:local="clr-namespace:Qtfv3nqhv521ip3" 6 Title="ColorSelectWindow" 7 Closing="Window_Closing" 8 ResizeMode="NoResize" 9 ShowInTaskbar="False" 10 SizeToContent="WidthAndHeight"> 11 <Grid> 12 <ListBox 13 x:Name="ListBox" 14 ItemsSource="{Binding Source={x:Static local:MainWindow.Colors}}" 15 SelectedIndex="0" 16 SelectedItem="{Binding ColorName}"> 17 <ListBox.ItemsPanel> 18 <ItemsPanelTemplate> 19 <UniformGrid Columns="10" /> 20 </ItemsPanelTemplate> 21 </ListBox.ItemsPanel> 22 <ListBox.ItemTemplate> 23 <DataTemplate> 24 <Ellipse Width="30" Height="30" Fill="{Binding}" /> 25 </DataTemplate> 26 </ListBox.ItemTemplate> 27 </ListBox> 28 </Grid> 29</Window>

cs

1using System.ComponentModel; 2using System.Windows; 3 4namespace Qtfv3nqhv521ip3 5{ 6 public partial class ColorSelectWindow : Window 7 { 8 public ColorSelectWindow() => InitializeComponent(); 9 10 private void Window_Closing(object sender, CancelEventArgs e) 11 { 12 // 閉じるのをキャンセルし非表示にする 13 e.Cancel = true; 14 Visibility = Visibility.Hidden; 15 } 16 } 17}

投稿2022/03/14 15:05

編集2023/07/30 05:21
TN8001

総合スコア9321

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TN8001

2022/03/14 15:09

回答を1万字に収めるのに苦労したので、質問を前半・後半(DataGridの話とWindowの話)に分けていただきたかったです^^;
nya-3

2022/03/30 01:36

TN8001様 返信遅れて申し訳ありません、回答ありがとうございました! コンボボックスが一番分かりやすかったため、それを利用することとしました! 別件で聞きたい事ができたため、また質問させて頂くとは思いますが その際は確認をお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問