xml 【xamDataGrid】固定列あり·ラベルと场别の列ありの一覧を动的に生成するサンプル

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xml 【xamDataGrid】固定列あり·ラベルと场别の列ありの一覧を动的に生成するサンプル相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Infragistics.Windows.DataPresenter;

namespace XamDataGridTest
{
	/// <summary>
	/// Window1.xaml の相互作用ロジック
	/// </summary>
	public partial class Window1 : Window
	{
		public Window1()
		{
			InitializeComponent();

			var fields = this.DgList.FieldLayouts[0].Fields;

			// Modify Fields 
			var fName = fields.Where(it => it.Name == "Name").FirstOrDefault();
			fields.Remove(fName);
			fName.FixedLocation = FixedFieldLocation.Scrollable;

			var fSex = fields.Where(it => it.Name == "Sex").FirstOrDefault();
			fields.Remove(fSex);
			fSex.Column = 1;
			fSex.FixedLocation = FixedFieldLocation.FixedToNearEdge;
			fields.Add(fSex);

			// Add Label 
			var fLabel = new UnboundField() {
				Name = "Detail",
				Label = "詳細",
				Column = 2,
				ColumnSpan = 2,
				Settings = new FieldSettings() {
					CellContentAlignment = CellContentAlignment.LabelOnly,
				},
				Width = new FieldLength(120),
			};
			fields.Add(fLabel);

			// Add Column 
			var fBirth = new Field("Birth", typeof(DateTime), "生年月日") {
				Column = 2,
				Settings = new FieldSettings() {
					CellContentAlignment = CellContentAlignment.ValueOnly,
				},
				Width = new FieldLength(70),
			};
			fields.Add(fBirth);

			//var fKuuhaku = new UnboundField() {
			//    Name = "Height",
			//    DataType = typeof(double),
			//    Label = "身長",
			//    Column = 3,
			//    Visibility = Visibility.Collapsed,
			//    Settings = new FieldSettings() {
			//        CellContentAlignment = CellContentAlignment.ValueOnly,
			//    },
			//};
			//fields.Add(fKuuhaku);

			var fRemark = new Field("Remark", typeof(string), "備考") {
				Column = 3,
				Settings = new FieldSettings() {
					CellContentAlignment = CellContentAlignment.ValueOnly,
				},
				Width = new FieldLength(200),
			};
			fields.Add(fRemark);

			fName.Column = 4;
			fields.Add(fName);

			this.DgList.UpdateLayout();

			this.DgList.DataSource = new Parson[]{
				new Parson(){ID = 1,Name="aikazu",Sex="Man",Birth = DateTime.Now,Remark="本日よりよろしくお願い致します。"},
				new Parson(){ID = 2,Name="aikazu",Sex="Man",Birth = DateTime.Now,Remark="本日よりよろしくお願い致します。"},
				new Parson(){ID = 3,Name="aikazu",Sex="Man",Birth = DateTime.Now,Remark="本日よりよろしくお願い致します。"},
				new Parson(){ID = 4,Name="aikazu",Sex="Man",Birth = DateTime.Now,Remark="本日よりよろしくお願い致します。"},
				new Parson(){ID = 5,Name="aikazu",Sex="Man",Birth = DateTime.Now,Remark="本日よりよろしくお願い致します。"},
			};
		}
	}


	public class Parson
	{
		public int ID { get; set; }
		public string Name { get; set; }
		public string Sex { get; set; }
		public DateTime Birth { get; set; }
		//public double Height { get; set; }
		public string Remark { get; set; }

		public Parson()
		{
			//this.Height = 176.5;
		}
	}
}
<Window x:Class="XamDataGridTest.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
		xmlns:igEditors="http://infragistics.com/Editors"
		xmlns:igDP="http://infragistics.com/DataPresenter"
    Title="Window1" Height="400" Width="600">
	<Grid>
		<igDP:XamDataGrid x:Name="DgList" >
			<igDP:XamDataGrid.FieldLayouts>
				<igDP:FieldLayout>
					<igDP:FieldLayout.Fields>
						<igDP:Field Column="0" Name="ID" Label="ID" FixedLocation="FixedToNearEdge">

						</igDP:Field>

						<igDP:Field Column="1" Name="Name" Label="名前" FixedLocation="FixedToNearEdge">

						</igDP:Field>

						<igDP:Field Column="2" Name="Sex" Label="性別">

						</igDP:Field>
					</igDP:FieldLayout.Fields>
					<igDP:FieldLayout.Settings>
						<!-- AutoArrangeCellsをNeverにしないと、列がAddした順番で表示されてしまう。 -->
						<igDP:FieldLayoutSettings AutoGenerateFields="False" AutoArrangeCells="Never" />
					</igDP:FieldLayout.Settings>
				</igDP:FieldLayout>
			</igDP:XamDataGrid.FieldLayouts>
			<igDP:XamDataGrid.FieldSettings>
				<igDP:FieldSettings AllowGroupBy="False" AllowFixing="No"/>
			</igDP:XamDataGrid.FieldSettings>
		</igDP:XamDataGrid>
	</Grid>
</Window>

以上是关于xml 【xamDataGrid】固定列あり·ラベルと场别の列ありの一覧を动的に生成するサンプル的主要内容,如果未能解决你的问题,请参考以下文章

csharp XamDataGridで选択されている项目を操作する.XamDataGrid.SelectedItemsに选択されている项目を保持しているらしい(唱片,田野,细胞)。こいつを操作すること

软件开发式样书 3

html CDNから的jQueryを読み込む(フォールバックあり)。

markdown 安卓でCPPありのプロジェクトをクローンしてきたらビルドできなかった

京都のもみじは有名です

swift 字符串(描述:)で挙动怪しそうなのと,rawValue上书きはあまり行仪良く无さそうというのを无视すれば,これありかも('·‿·`)#swift #CodePi