我有一個DataRepeater與GridView裏面顯示一些存儲過程中的表。GridView內部中繼器列寬
這裏是我的中繼器代碼:
<asp:Repeater ID="rptResults" runat="server" OnItemDataBound="rptResults_ItemDataBound">
<ItemTemplate>
<div style="width: 1100px; overflow: scroll;">
<asp:GridView ID="gvResults" runat="server" BackColor="LightGoldenrodYellow" BorderColor="Tan"
BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None">
<FooterStyle BackColor="Tan" Wrap="false" />
<RowStyle Wrap="false" />
<PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center"
Wrap="false" />
<SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" Wrap="false" />
<HeaderStyle BackColor="Tan" Font-Bold="True" Wrap="false" />
<AlternatingRowStyle BackColor="PaleGoldenrod" Wrap="false" />
</asp:GridView>
<asp:Label runat="server" ID="lblNoRecords" Visible="false"></asp:Label>
</div>
<br />
</ItemTemplate>
</asp:Repeater>
我有我的中繼器綁定:
protected void rptResults_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
var o = e.Item.DataItem as DataTable;
if (o.Rows.Count == 0)
{
var lblNoRecords = (Label) e.Item.FindControl("lblNoRecords");
lblNoRecords.Text = "No Records";
lblNoRecords.Visible = true;
}
else
{
var gv = (GridView)e.Item.FindControl("gvResults");
gv.DataSource = o;
gv.DataBind();
}
}
}
:
rptResults.DataSource = results.Tables;
rptResults.DataBind();
我已經在我的GridView的每個表結合以下返回的數據可能會改變,因爲它是一個存儲過程,它總是會返回n個表。
我想嘗試根據返回的數據讓我的列自動調整大小。現在它會壓縮大部分數據,包括日期/時間數據。
我似乎無法弄清楚如何做到這一點。
想法?
你的第二部分工作就像一個魅力什麼工作!謝謝!! – CodeLikeBeaker 2010-01-04 21:51:07