随着记录的多少而改变每一行的宽度啊?
///////////
<asp:BoundColumn DataField="XXX" SortExpression="XXX" HeaderText="XXX">
<HeaderStyle Width="10%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>没有记录时,我的datagrid会消失,好奇怪哦,该怎么弄啊?
/////////
你可以自己写过空的DataTable来绑定,如: public void ShowNullDataGrid( DataGrid NullDataGrid, string[] DataGridColName )
{
NullDataGrid.Visible = true;
string[] DataGridColNameList = DataGridColName;
DataTable dt = new DataTable();
DataRow dr;
for ( int i = 0; i < DataGridColNameList.Length - 1; i++ )
{
dt.Columns.Add(new DataColumn( DataGridColNameList[i], typeof( string ) ) );
}
for (int i = 1; i <= 10; i++)
{
dr = dt.NewRow();
for ( int j=0; j < DataGridColNameList.Length - 1; j++ )
{
dr[j] = "";
}
dt.Rows.Add(dr);
}
NullDataGrid.DataSource = new DataView(dt);
NullDataGrid.DataBind();
}
datagrid的每一行可以绑定多个字段么?
///////////////
在ItemDataBound事件里做//假设第一列为超级链接列
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
string ID = "123";
string Name = "user";
if ( ( e.Item.ItemType != ListItemType.Header ) && ( e.Item.ItemType != ListItemType.Footer ) )
{
e.Item.Cells[0].Text = "<a href=" + ( ( HyperLink ) e.Item.Cells[0].Controls[0] ).NavigateUrl + "&ID=" + ID + "&Name=" + Name + ">" + ( ( HyperLink ) e.Item.Cells[0].Controls[0] ).Text + "</a>";
}
}或者<asp:BoundColumn DataField="CSTM_ID" SortExpression="CSTM_ID" HeaderText="CSTM">
<HeaderStyle Width="5%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="ServiceName" SortExpression="ServiceName" HeaderText="业务名称">
<HeaderStyle Width="10%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:HyperLink id="HyperLink1" NavigateUrl="XXXaspx?ID={0}&&Name={1}">
<%# DataBinder.Eval(Container.DataItem,"CSTM_ID")%>
<%# DataBinder.Eval(Container.DataItem,"ServiceName")%>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
///////////
<asp:BoundColumn DataField="XXX" SortExpression="XXX" HeaderText="XXX">
<HeaderStyle Width="10%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>没有记录时,我的datagrid会消失,好奇怪哦,该怎么弄啊?
/////////
你可以自己写过空的DataTable来绑定,如: public void ShowNullDataGrid( DataGrid NullDataGrid, string[] DataGridColName )
{
NullDataGrid.Visible = true;
string[] DataGridColNameList = DataGridColName;
DataTable dt = new DataTable();
DataRow dr;
for ( int i = 0; i < DataGridColNameList.Length - 1; i++ )
{
dt.Columns.Add(new DataColumn( DataGridColNameList[i], typeof( string ) ) );
}
for (int i = 1; i <= 10; i++)
{
dr = dt.NewRow();
for ( int j=0; j < DataGridColNameList.Length - 1; j++ )
{
dr[j] = "";
}
dt.Rows.Add(dr);
}
NullDataGrid.DataSource = new DataView(dt);
NullDataGrid.DataBind();
}
datagrid的每一行可以绑定多个字段么?
///////////////
在ItemDataBound事件里做//假设第一列为超级链接列
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
string ID = "123";
string Name = "user";
if ( ( e.Item.ItemType != ListItemType.Header ) && ( e.Item.ItemType != ListItemType.Footer ) )
{
e.Item.Cells[0].Text = "<a href=" + ( ( HyperLink ) e.Item.Cells[0].Controls[0] ).NavigateUrl + "&ID=" + ID + "&Name=" + Name + ">" + ( ( HyperLink ) e.Item.Cells[0].Controls[0] ).Text + "</a>";
}
}或者<asp:BoundColumn DataField="CSTM_ID" SortExpression="CSTM_ID" HeaderText="CSTM">
<HeaderStyle Width="5%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="ServiceName" SortExpression="ServiceName" HeaderText="业务名称">
<HeaderStyle Width="10%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:HyperLink id="HyperLink1" NavigateUrl="XXXaspx?ID={0}&&Name={1}">
<%# DataBinder.Eval(Container.DataItem,"CSTM_ID")%>
<%# DataBinder.Eval(Container.DataItem,"ServiceName")%>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
解决方案 »
- windows2003看到的网页跟xp看到的有些不一样?
- 请教一个关于json的问题,var vSWF = json["SWF"];
- 标记搜索关键字的颜色
- 关于数据库操作类(二)
- 把数据从文本导入数据库!请求帮助....
- javascript 弹出的窗口如何能这样实现!
- GridView跟DataGrid的绑定不一样吗?
- C#中取得n个空白字的方法是什么? VB.net中是 Space(number)
- 献上100分,求asp.net组件设计的一些示例代码。
- 救急,如何在SQL SERVER数据库的表中添加一列。
- 菜鸟请教:如何控制datagrid中每一列的宽度呀?
- 编译的时候可不可以只编译修改的文件
但是datagrid的列,如果是很长的连续的英文,也会被拉得很长,如果是中文,或者有空格时就是自动换行。你要是想要整齐一些,可以先把自符串处理(不如截字符串),然后再显示出来!
如果你不是自动生成列,没有记录时,也会显示出表头的
可以用<div class=..>你的内容</div>来做,需要的话给你发样式表
<ItemTemplate>
<asp:HyperLink id="HyperLink1" NavigateUrl="XXXaspx?ID={0}&&Name={1}">
<%# DataBinder.Eval(Container.DataItem,"CSTM_ID")%>
<%# DataBinder.Eval(Container.DataItem,"ServiceName")%>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>////
编译出错阿,<%# DataBinder.Eval(Container.DataItem,"ServiceName")%〉之间没有分割么?SortExpression属性有什么用?
我希望得到:http://xxxx.aspx?id=xxx&name=xxx的形式,可以传2个值,我用超级连接项只能邦定1个阿~~~
排序
[email protected]
<DIV style="DISPLAY: inline; Z-INDEX: 153; LEFT: 43px; OVERFLOW: auto; WIDTH: 710px; POSITION: absolute; TOP: 293px; HEIGHT: 94px" ms_positioning="FlowLayout">
弄了好久只能http://xxxx.aspx?id=xxx 真郁闷阿~~~~