enter image description hereenter image description here Windowsアプリケーションにチェックボックスを追加したい(下の図参照)。誰もがこれで私を助けることができますか?チェックボックスのラベルはxmlからバインドされています。xml構造体が追加されました。私はそれから始める方法を理解することができません。ダイナミック9チェックボックスを作成する3特定のラベルの下にc#
答えて
`private void bindChkServerIIS() { List chkListIIS = new List(); chkListIIS = Serverlist();
int x = 50;
int y = 0;
int p = 240;
foreach (ItemLists serviceItem in chkListIIS)
{
y = y + 18;
string itemValue = serviceItem.Value;
string itemName = serviceItem.Name;
CheckBox box1 = new CheckBox();
Label lbl = new Label();
box1.Text = itemName;
box1.Font = new Font(FontFamily.GenericSansSerif, 8F);
lbl.Font = new Font(FontFamily.GenericSansSerif, 8F);
//lbl.Text = CheckStatus(itemName, itemValue);
box1.Tag = itemValue;
lbl.Text = "Status";
lbl.AutoSize = true;
box1.AutoSize = true;
gbIis.Controls.Add(box1);
gbIis.Controls.Add(lbl);
box1.Location = new Point(x, y);
lbl.Location = new Point(p, y);
}
}` private List<ItemLists> Serverlist()
{
xmldoc.Load(xmlPath);
XmlNodeList nodelist = xmldoc.SelectNodes("servers");
List<ItemLists> chkListServer = new List<ItemLists>();
{
foreach (XmlNode node in nodelist.Item(0))
{
foreach (XmlNode childElement in node)
{
string serverApp = childElement.ChildNodes[4].InnerText;
string serverName = childElement.Attributes["Name"].Value;
if (childElement.Attributes["Name"].Value != "vmxxhegepda01"
&& childElement.Attributes["Name"].Value != "vmxxhegepqa01"
&& childElement.Attributes["Name"].Value != "vmxxhegeppa01")
{
chkListServer.Add(new ItemLists() { Name = serverName, Value = serverApp });
}
}
}
}
return chkListServer;
}`enter code here`
あなたのXML組織はわかりませんが、参考になることを願っています。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
XmlDocument Doc = new XmlDocument();
Doc.Load("YourPath to XML document");
foreach (XmlNode node in Doc.DocumentElement.ChildNodes)
{
if (node.Name == "perrent")
{
/*This code setup name of label, we take Attribute of parrent*/
Label lb = new Label();
lb.Content = node.Attributes.GetNamedItem("ParrentAttribute");
/*SPanel is added in MainWindow XAML it is a ordinary Stack Panel you can dynamically create stack panel and just add to grid from code*/
SPanel.Children.Add(lb);
XmlNodeList SearchNode = node.ChildNodes;
/*Listing all child nodes to create check boxes */
foreach (XmlNode Child in SearchNode)
{
CheckBox cb = new CheckBox();
cb.Margin = new Thickness(20, 0, 0, 0);
cb.Content = Child.InnerText;
SPanel.Children.Add(cb);
}
}
}
}
}
XAML
<Window x:Class="test.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<StackPanel x:Name="SPanel"/>
</Grid>
XMLドキュメント
<root>
<perrent ParrentName = "Dev">
<node>File import Service</node>
<node>Settlement Service</node>
<node>Store conversion Service</node>
</perrent>
<perrent ParrentName = "QA">
<node>File import Service</node>
<node>Settlement Service</node>
<node>Store conversion Service</node>
</perrent>
</root>
以下のC#コードで試してください。
try
{
XmlReader xmlFile;
xmlFile = XmlReader.Create("E:\\Product.xml", new XmlReaderSettings());
DataSet ds = new DataSet();
ds.ReadXml(xmlFile);
var TblTitle = ds.Tables[0];
var i = 39;
var j = 67;
foreach(DataRow row in TblTitle.Rows)
{
//Create new GroupBox
GroupBox GrpBox = new GroupBox();
GrpBox.Text = row.ItemArray[1].ToString();
GrpBox.Location = new System.Drawing.Point(i, j);
//Create new Checkboxlist in GroupBox
CheckedListBox ChkList = new CheckedListBox();
ChkList.Location = new System.Drawing.Point(44, 20);
ChkList.DataSource = TblTitle.ChildRelations[0].ChildTable;
((ListBox)ChkList).ValueMember = "Name";
((ListBox)ChkList).DisplayMember = "Name";
//add Checkboxlist into GroupBox
GrpBox.Controls.Add(ChkList);
//add this groupBox to Form
this.Controls.Add(GrpBox);
//set position for next one
i = +1;
j = +176;
}
//checkedListBox1.
//checkedListBox1.DataBindings();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
と、このXML例:
<?xml version="1.0" encoding="utf-8" ?>
<CheckBox Name="Dev">
<item Name="item1"/>
<item Name="item2"/>
</CheckBox>
<CheckBox Name="QA">
<item Name="item3"/>
<item Name="item4"/>
</CheckBox>
あなたが任意のより多くの関心を持っている場合、私に知らせてください。私はあなたに例を提供します。
先生、私が使ったXML構造で説明していただけますか?私はxmlを読んだ。しかし、動的チェックボックスとバインドする方法を取得していない。私はそれらに対してステータスを表示する必要があるチェックボックスリストを使用することはできません。親切に私に解決策を教えてください。 –
動的チェックボックスのデータをバインドできるようにするには、 'UserControl'を作成する必要があります。それ以外の場合は、 'ChildTable'の各' row'をループするために 'foreach'を追加する必要があります。 –
- 1. ダイナミックに作成されたチェックボックスのsetOnClickListeners
- 2. 特定のセルにActiveXチェックボックスを作成
- 3. チェックボックスのラベルは、私がsambleチェックボックス作成
- 4. 各ラベルの隣にチェックボックスを作成
- 5. チタン:ダイナミックな高さのラベルを作成するには?
- 6. PHPの特定のフォルダにダイナミックにPHPファイルを作成するには?
- 7. ダイナミックCRM - 特定のビュー用のC#プラグイン
- 8. Swiftダイナミックに作成されたラベルを変更する
- 9. リピーター内のチェックボックスのラベルを作成する
- 10. javascriptでラベルとチェックボックスを動的に作成する方法は?
- 11. ラベルのテキストをラベルにしてチェックボックスを選択しますか?構造以下
- 12. C#のチェックボックスが、私はチェックボックスの3列と2 RichTextBoxesを含むTableLayoutPanelを拡張するクラスを作成しTableLayoutPanel
- 13. androidの3つの状態のチェックボックスを作成する
- 14. ダイナミック、次の特定の日の後に
- 15. symfonyでラベルをカスタマイズしてチェックボックスを作成する
- 16. ダイナミック組合を作成するC#の方法で
- 17. Swiftに下揃えラベルを作成する方法は?
- 18. Xcode 4.3でObjective Cの9 * 9グリッドビューを作成する方法は?
- 19. 特定の長さの文字列をC++で作成する
- 20. Flex 3:ラジオボタンのラベルで権利シンボルを作成する方法
- 21. gradle - 特定のディレクトリの下に反復的にjarを作成します。
- 22. ダイナミックにフォームを作成
- 23. ダイナミックにxcodeプロジェクトを作成する
- 24. ダイナミックにスピナーを作成する
- 25. ダイナミックなスライダーバーを作成するには
- 26. ダイナミックなグリッドビューを作成するには?
- 27. ダイナミックdecodeResourceを作成するには?
- 28. ダイナミックJTreeのとSwingUtilities.invokeLaterを()私のダイナミックJTreeのを作成するには、何も
- 29. ODOOERPの特定の顧客(res.partner)の下でタスク(project.task)を作成する方法
- 30. Objective-Cのラベルの横に検索バーを作成します
こんにちは。ようこそので、どのように適切に質問することができますをお読みください。ありがとうございます – acostela
これまでに試したことのいくつかのコードを提供できますか? – Usman