Click here to Skip to main content
15,868,016 members
Please Sign up or sign in to vote.
5.00/5 (1 vote)
Hello.
I need WPF DataGrid with 10 columns, where columns 5-10 have more than one subrow in the row. It should look like this

col1|  col2  |  col3  |
----|--------|--------|
row1|subrow1 |subrow1 |
    |--------|--------|
    |subrow2 |subrow2 |
----|--------|--------|
row2|subrow21|subrow21|
    |--------|--------|
    |subrow22|subrow22|
    |--------|--------|
    |subrow22|subrow22|
----|--------|--------|
...


etc.

Any ideas how can i achieve that?

Thanks.
Posted

1 solution

That is actually very easy:

<grid>
		<grid.columndefinitions>
			<columndefinition width="100" />
			<columndefinition width="100" />
			<columndefinition width="100" />
		</grid.columndefinitions>
		<grid.rowdefinitions>
			<rowdefinition height="25" />
			<rowdefinition height="25" />
			<rowdefinition height="25" />
			<rowdefinition height="25" />
			<rowdefinition height="25" />
		</grid.rowdefinitions>
		<border grid.column="0">
						Grid.Row="0"
						Grid.RowSpan="2"
						BorderThickness="1"
						BorderBrush="Black"
						Padding="3">
			<textblock text="Row1" />
		</border>
		<border grid.column="0">
						Grid.Row="2"
						Grid.RowSpan="2"
						BorderThickness="1"
						BorderBrush="Black"
						Padding="3">
			<textblock text="Row2" />
		</border>
		<border grid.column="1">
						Grid.Row="0"
						BorderThickness="1"
						BorderBrush="Black"
						Padding="3">
			<textblock text="SubRow1" />
		</border>
		<border grid.column="1">
						Grid.Row="1"
						BorderThickness="1"
						BorderBrush="Black"
						Padding="3">
			<textblock text="SubRow2" />
		</border>
	</grid>
 
Share this answer
 
Comments
xakpc 23-May-12 3:19am    
yeah, if we talking about Grid. But i need this solution for DataGrid, and that not so easy
Clifford Nelson 23-May-12 11:35am    
You can do this with the XamDataGrid using the pivot table. You can also do a custom grid where you create a control class inheriting from grid.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900