我有一个包含多个列的GridView,它会填充我想要的内容,但其中一列可以包含相当多的文本。为了尝试并很好地呈现它,我希望能够在其下方的行中显示该列,因此跨越所有列:
作为一个简化的例子,我现在有:
Name DOB Sex Comments Title
Ian 15/04/2015 M This is MR
the text
that keeps
wrapping
我更喜欢它像
Name DOB Sex Comments Title
Ian 15/04/2015 M This is MR
Comments: This is the text that keeps wrapping
显然这是一个非常简单的例子,但希望它能解释我想要做的事情。我现在的GridView代码如下,我想将intScore
移到下一行。
<asp:GridView ID="gvwClinical" runat="server" DataKeyNames="intClinicalAssessID" OnRowDataBound="gvwGrids_RowBound" OnRowDeleting="gvwGrids_Delete" OnSelectedIndexChanging="gvwClinical_SelectedIndexChanged" OnSorting="gvwSort" OnPageIndexChanging="gvwPage">
<Columns>
<asp:BoundField Visible="False" DataField="intClinicalAssessID"></asp:BoundField>
<asp:ButtonField Text="View" CommandName="Select" ButtonType="image"></asp:ButtonField>
<asp:ButtonField Text="Delete" CommandName="Delete" ButtonType="image"></asp:ButtonField>
<asp:BoundField DataField="dteAssessmentDate" HeaderText="Assess. Date" SortExpression="dteAssessmentDate"></asp:BoundField>
<asp:BoundField DataField="intScores" HeaderText="Scores" SortExpression="intScores" HtmlEncode="false"></asp:BoundField>
<asp:BoundField DataField="intHeight" HeaderText="Height" SortExpression="intHeight"></asp:BoundField>
<asp:BoundField DataField="intWeight" HeaderText="Weight" SortExpression="intWeight"></asp:BoundField>
<asp:BoundField DataField="strWellBeing" HeaderText="Gen Well Being" SortExpression="strWellBeing"></asp:BoundField>
<asp:BoundField DataField="strAbdominalPain" HeaderText="Abdo Pain" SortExpression="strAbdominalPain"></asp:BoundField>
<asp:BoundField DataField="strAbdominalMass" HeaderText="Abdo Mass" SortExpression="strAbdominalMass"></asp:BoundField>
<asp:BoundField DataField="strBowelFreqDay" HeaderText="Bowel Freq (day)" SortExpression="strBowelFreqDay"></asp:BoundField>
<asp:BoundField DataField="strBowelFreqNight" HeaderText="Bowel Freq (night)" SortExpression="strBowelFreqNight"></asp:BoundField>
<asp:BoundField DataField="strStoolUrgency" HeaderText="Defecation Urgency" SortExpression="strStoolUrgency"></asp:BoundField>
<asp:BoundField DataField="intLiquidStoolCount" HeaderText="Lq Stools 24 Hrs" SortExpression="intLiquidStoolCount"></asp:BoundField>
<asp:BoundField DataField="strRectalBleeding" HeaderText="Rectal Bleeding" SortExpression="strRectalBleeding"></asp:BoundField>
<asp:BoundField DataField="strEndoscopyFindings" HeaderText="Endo Findings" SortExpression="strEndoscopyFindings"></asp:BoundField>
<asp:BoundField DataField="strGlobalAssess" HeaderText="Gbl Assessment" SortExpression="strGlobalAssess"></asp:BoundField>
<asp:BoundField DataField="intActiveFistula" HeaderText="Active Fistula" SortExpression="intActiveFistula"></asp:BoundField>
<asp:BoundField DataField="intTemperature" HeaderText="Temp." SortExpression="intTemperature"></asp:BoundField>
<asp:BoundField DataField="intPulse" HeaderText="Pulse" SortExpression="intPulse"></asp:BoundField>
<asp:BoundField DataField="intHB" HeaderText="Hb" SortExpression="intHB"></asp:BoundField>
<asp:BoundField DataField="intHCT" HeaderText="Hct" SortExpression="intHCT"></asp:BoundField>
<asp:BoundField DataField="intCRP" HeaderText="CRP" SortExpression="intCRP"></asp:BoundField>
<asp:BoundField DataField="strComplications" HeaderText="Complications" SortExpression="strComplications"></asp:BoundField>
</Columns>
</asp:GridView>
答案 0 :(得分:0)
您可以使用TemplateField。这样您就可以将较长的文本放在其余字段下面,因为您可以按列设计布局,如果只使用一个TemplateField则可以设置行。如果您的DataSource提供它们,您可以在一个TemplateField中绑定和Eval尽可能多的DataField和html:
<Columns>
<asp:TemplateField HeaderText="Header1" SortExpression="fieldname1">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("fieldname1") %>'></asp:Label>
<hr>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("fieldname2") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
请注意,这会产生副作用。您只能为添加的每个TemplateField添加列标题,因此在使用这些字段时,使用GridView的默认设置为每个DataField排序数据可能会变得棘手或几乎不可能。由于TemplateFields的行为与普通的BoundFields类似,因此可以将BoundFields和TemplateFields组合在一行,但不能让TemplateField显示在其他列的下方。
据我所知,在TemplateField中使用BoundFields是不可能的,如果您真正想要的话可能正在寻找Pivot网格,那将是一个更好的主意。但是,如果Pivot网格的高度可配置性和足迹适合您的解决方案是另一个问题。
希望这有助于为您的挑战寻找灵感。祝你好运!