yoshikazuendo
11/20/2013 - 4:51 AM

XamDataGridで選択されている項目を操作する。XamDataGrid.SelectedItemsに選択されている項目を保持しているらしい(Records,Fields,Cells)。こいつを操作することで、選択したい項目を制御できそう。 http://help.jp.i

XamDataGridで選択されている項目を操作する。XamDataGrid.SelectedItemsに選択されている項目を保持しているらしい(Records,Fields,Cells)。こいつを操作することで、選択したい項目を制御できそう。

http://help.jp.infragistics.com/Help/NetAdvantage/WPF/2011.1/CLR4.0/html/xamData_Selection_Overview.html

private void xamDataGrid1_SelectedItemsChanging(object sender, Infragistics.Windows.DataPresenter.Events.SelectedItemsChangingEventArgs e)
{
	this.Dispatcher.BeginInvoke(new Action(() => {
		try {
		  // この辺のイベント制御がスマートじゃない。 
			this.xamDataGrid1.SelectedItemsChanging -= this.xamDataGrid1_SelectedItemsChanging;

			this.xamDataGrid1.SelectedItems.Records.Clear(); // 選択されている行をクリアする。 
			this.xamDataGrid1.SelectedItems.Fields.Clear(); // 選択されている列を
			this.xamDataGrid1.SelectedItems.Cells.Clear(); // 選択されているセルをクリアする。 
			this.xamDataGrid1.ActiveRecord = null; // ActivedとSelectedは別物みたいなので、一応nullを入れる。 

			// 1行目を選択する。(SelectedItemsにAddするといけるみたい) 
			this.xamDataGrid1.SelectedItems.Records.Add(this.xamDataGrid1.Records[0]);
		} finally {
			this.xamDataGrid1.SelectedItemsChanging += this.xamDataGrid1_SelectedItemsChanging;
		}
	}));
}