姓名 年龄 照片
性别 出生年月
小王 20
男 1986
小张 21
男 1985
请问改如何实现?
17 个解决方案
#1
使用DataList或者自己构造table
#2
用itemtemplate,
小王 20
男 1986
每一条数据对应一个table不就可以了
小王 20
男 1986
每一条数据对应一个table不就可以了
#3
GridView是动态绑定的,各个列需要动态生成
现在的做法如下:
BindGridView()
{
TemplateField f1 = new TemplateField();
f1.ItemTemplate = new MultiRowsTemplateRow();
gridView1.Columns.Add(f1);
gridView1.DataSource = ds;
gridView1.DataBind();
}
class MultiRowsTemplateRow : ITemplate
{
public void InstantiateIn(Container container)
{
Label lblBr = new Label();
lblBr.Text = "<br>";
Label lblName1 = new Label();
lblName1.Text = "xiao";
Label lblName2 = new Label();
lblName2.Text = "wang";
container.Controls.Add(lblName1);
container.Controls.Add(lblBr);
container.Controls.Add(lblName2);
}
}
这种方法Label不是从数据库里面取的,怎样实现跟数据源的绑定?
是不是可以用TemplateField里面放两个BoundField来实现?
现在的做法如下:
BindGridView()
{
TemplateField f1 = new TemplateField();
f1.ItemTemplate = new MultiRowsTemplateRow();
gridView1.Columns.Add(f1);
gridView1.DataSource = ds;
gridView1.DataBind();
}
class MultiRowsTemplateRow : ITemplate
{
public void InstantiateIn(Container container)
{
Label lblBr = new Label();
lblBr.Text = "<br>";
Label lblName1 = new Label();
lblName1.Text = "xiao";
Label lblName2 = new Label();
lblName2.Text = "wang";
container.Controls.Add(lblName1);
container.Controls.Add(lblBr);
container.Controls.Add(lblName2);
}
}
这种方法Label不是从数据库里面取的,怎样实现跟数据源的绑定?
是不是可以用TemplateField里面放两个BoundField来实现?
#4
jsyhello(不认输):
现在程序已经用GridView做了,用别的,改动太大
xyunsh(学海无涯,回头是岸)
能说清楚一点吗?GridView各列是动态生成的
现在程序已经用GridView做了,用别的,改动太大
xyunsh(学海无涯,回头是岸)
能说清楚一点吗?GridView各列是动态生成的
#5
没有人做过吗
#6
用模版列再简单不过了。
#7
怎么用?
这些类必须动态添加,因为不同的情况要添加不同的列
这些类必须动态添加,因为不同的情况要添加不同的列
#8
把你做的各个列都转换成模版列
然后和DataList中的做法是一样的
然后和DataList中的做法是一样的
#9
能具体一点吗
DataList没有用过
DataList没有用过
#10
可以将datagrid设一个模板列,模板列中插入table,table中再插入label,在datagrid的itemdatabind中设置label的text就行了
#11
是不是想实现以下样式的啊?
-----------------------------------------------
姓名 | 年龄 | 照片
性别 | 出生年月 |
-----------------------------------------------
姓名 | 年龄 | 照
---------------------------------|
性别 | 年月 | 片
-----------------------------------------------
姓名 | 年龄 | 照
---------------------------------|
性别 | 年月 | 片
-----------------------------------------------
.....
如果是,那你应该可以用GridView的模板列来做
只要修改.aspx中的模板就可以了,具体的你去找找帮助,有很详细的使用说明,这不赘述
但看你的样子是在后台处理过再输出的
这样的话,你可以尝试构建一个Table对象(System.Web.UI.HtmlControls.HtmlTable)
你构建好一个类似上面的行列,将你需要的值填充好
直接输出,应该能够达到你的要求
-----------------------------------------------
姓名 | 年龄 | 照片
性别 | 出生年月 |
-----------------------------------------------
姓名 | 年龄 | 照
---------------------------------|
性别 | 年月 | 片
-----------------------------------------------
姓名 | 年龄 | 照
---------------------------------|
性别 | 年月 | 片
-----------------------------------------------
.....
如果是,那你应该可以用GridView的模板列来做
只要修改.aspx中的模板就可以了,具体的你去找找帮助,有很详细的使用说明,这不赘述
但看你的样子是在后台处理过再输出的
这样的话,你可以尝试构建一个Table对象(System.Web.UI.HtmlControls.HtmlTable)
你构建好一个类似上面的行列,将你需要的值填充好
直接输出,应该能够达到你的要求
#12
模版列可以定义任何行数
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input type="checkbox" onclick="SelAll()" /></HeaderTemplate>
<ItemTemplate>
<input type="checkbox" name="guid" value="<%#Eval("ExpertID") %>" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="专家名称" DataField="DisplayName" />
<asp:BoundField HeaderText="专家介绍" DataField="Description" />
<asp:TemplateField>
<ItemTemplate>
<table width="100%" border="1">
<tr>
<td>
<%#Eval("DisplayName") %>
</td>
<td>
<%#Eval("DisplayName") %>
</td>
<td rowspan="2">
<%#Eval("DisplayName") %>
</td>
</tr>
<tr>
<td>
<%#Eval("DisplayName") %>
</td>
<td>
<%#Eval("DisplayName") %>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input type="checkbox" onclick="SelAll()" /></HeaderTemplate>
<ItemTemplate>
<input type="checkbox" name="guid" value="<%#Eval("ExpertID") %>" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="专家名称" DataField="DisplayName" />
<asp:BoundField HeaderText="专家介绍" DataField="Description" />
<asp:TemplateField>
<ItemTemplate>
<table width="100%" border="1">
<tr>
<td>
<%#Eval("DisplayName") %>
</td>
<td>
<%#Eval("DisplayName") %>
</td>
<td rowspan="2">
<%#Eval("DisplayName") %>
</td>
</tr>
<tr>
<td>
<%#Eval("DisplayName") %>
</td>
<td>
<%#Eval("DisplayName") %>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
#13
用模板
#14
用模版列自定义
#15
to mistysunlight(飘渺日光)
是的,ItemTemplate是要在后台构建的,以为ItemTemplate的内容不是固定的,有好几种类型
你的意思是不用GridView吗
是的,ItemTemplate是要在后台构建的,以为ItemTemplate的内容不是固定的,有好几种类型
你的意思是不用GridView吗
#16
------------------------------------------
我再说一下我的问题吧
现在TemplateField需要在后台生成(因为TemplateField里面的列不是固定的,有多种类型)
怎么在后台绑定TemplateField的列到数据表的字段
我知道BoundField绑定很简单,
直接BoundField field = new BoundField()
field.DataField = "name";
gridView1.Columns.Add(field);就可以了
TemplateField该怎么做?
------------------------------------------
我再说一下我的问题吧
现在TemplateField需要在后台生成(因为TemplateField里面的列不是固定的,有多种类型)
怎么在后台绑定TemplateField的列到数据表的字段
我知道BoundField绑定很简单,
直接BoundField field = new BoundField()
field.DataField = "name";
gridView1.Columns.Add(field);就可以了
TemplateField该怎么做?
------------------------------------------
#17
up
#1
使用DataList或者自己构造table
#2
用itemtemplate,
小王 20
男 1986
每一条数据对应一个table不就可以了
小王 20
男 1986
每一条数据对应一个table不就可以了
#3
GridView是动态绑定的,各个列需要动态生成
现在的做法如下:
BindGridView()
{
TemplateField f1 = new TemplateField();
f1.ItemTemplate = new MultiRowsTemplateRow();
gridView1.Columns.Add(f1);
gridView1.DataSource = ds;
gridView1.DataBind();
}
class MultiRowsTemplateRow : ITemplate
{
public void InstantiateIn(Container container)
{
Label lblBr = new Label();
lblBr.Text = "<br>";
Label lblName1 = new Label();
lblName1.Text = "xiao";
Label lblName2 = new Label();
lblName2.Text = "wang";
container.Controls.Add(lblName1);
container.Controls.Add(lblBr);
container.Controls.Add(lblName2);
}
}
这种方法Label不是从数据库里面取的,怎样实现跟数据源的绑定?
是不是可以用TemplateField里面放两个BoundField来实现?
现在的做法如下:
BindGridView()
{
TemplateField f1 = new TemplateField();
f1.ItemTemplate = new MultiRowsTemplateRow();
gridView1.Columns.Add(f1);
gridView1.DataSource = ds;
gridView1.DataBind();
}
class MultiRowsTemplateRow : ITemplate
{
public void InstantiateIn(Container container)
{
Label lblBr = new Label();
lblBr.Text = "<br>";
Label lblName1 = new Label();
lblName1.Text = "xiao";
Label lblName2 = new Label();
lblName2.Text = "wang";
container.Controls.Add(lblName1);
container.Controls.Add(lblBr);
container.Controls.Add(lblName2);
}
}
这种方法Label不是从数据库里面取的,怎样实现跟数据源的绑定?
是不是可以用TemplateField里面放两个BoundField来实现?
#4
jsyhello(不认输):
现在程序已经用GridView做了,用别的,改动太大
xyunsh(学海无涯,回头是岸)
能说清楚一点吗?GridView各列是动态生成的
现在程序已经用GridView做了,用别的,改动太大
xyunsh(学海无涯,回头是岸)
能说清楚一点吗?GridView各列是动态生成的
#5
没有人做过吗
#6
用模版列再简单不过了。
#7
怎么用?
这些类必须动态添加,因为不同的情况要添加不同的列
这些类必须动态添加,因为不同的情况要添加不同的列
#8
把你做的各个列都转换成模版列
然后和DataList中的做法是一样的
然后和DataList中的做法是一样的
#9
能具体一点吗
DataList没有用过
DataList没有用过
#10
可以将datagrid设一个模板列,模板列中插入table,table中再插入label,在datagrid的itemdatabind中设置label的text就行了
#11
是不是想实现以下样式的啊?
-----------------------------------------------
姓名 | 年龄 | 照片
性别 | 出生年月 |
-----------------------------------------------
姓名 | 年龄 | 照
---------------------------------|
性别 | 年月 | 片
-----------------------------------------------
姓名 | 年龄 | 照
---------------------------------|
性别 | 年月 | 片
-----------------------------------------------
.....
如果是,那你应该可以用GridView的模板列来做
只要修改.aspx中的模板就可以了,具体的你去找找帮助,有很详细的使用说明,这不赘述
但看你的样子是在后台处理过再输出的
这样的话,你可以尝试构建一个Table对象(System.Web.UI.HtmlControls.HtmlTable)
你构建好一个类似上面的行列,将你需要的值填充好
直接输出,应该能够达到你的要求
-----------------------------------------------
姓名 | 年龄 | 照片
性别 | 出生年月 |
-----------------------------------------------
姓名 | 年龄 | 照
---------------------------------|
性别 | 年月 | 片
-----------------------------------------------
姓名 | 年龄 | 照
---------------------------------|
性别 | 年月 | 片
-----------------------------------------------
.....
如果是,那你应该可以用GridView的模板列来做
只要修改.aspx中的模板就可以了,具体的你去找找帮助,有很详细的使用说明,这不赘述
但看你的样子是在后台处理过再输出的
这样的话,你可以尝试构建一个Table对象(System.Web.UI.HtmlControls.HtmlTable)
你构建好一个类似上面的行列,将你需要的值填充好
直接输出,应该能够达到你的要求
#12
模版列可以定义任何行数
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input type="checkbox" onclick="SelAll()" /></HeaderTemplate>
<ItemTemplate>
<input type="checkbox" name="guid" value="<%#Eval("ExpertID") %>" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="专家名称" DataField="DisplayName" />
<asp:BoundField HeaderText="专家介绍" DataField="Description" />
<asp:TemplateField>
<ItemTemplate>
<table width="100%" border="1">
<tr>
<td>
<%#Eval("DisplayName") %>
</td>
<td>
<%#Eval("DisplayName") %>
</td>
<td rowspan="2">
<%#Eval("DisplayName") %>
</td>
</tr>
<tr>
<td>
<%#Eval("DisplayName") %>
</td>
<td>
<%#Eval("DisplayName") %>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input type="checkbox" onclick="SelAll()" /></HeaderTemplate>
<ItemTemplate>
<input type="checkbox" name="guid" value="<%#Eval("ExpertID") %>" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="专家名称" DataField="DisplayName" />
<asp:BoundField HeaderText="专家介绍" DataField="Description" />
<asp:TemplateField>
<ItemTemplate>
<table width="100%" border="1">
<tr>
<td>
<%#Eval("DisplayName") %>
</td>
<td>
<%#Eval("DisplayName") %>
</td>
<td rowspan="2">
<%#Eval("DisplayName") %>
</td>
</tr>
<tr>
<td>
<%#Eval("DisplayName") %>
</td>
<td>
<%#Eval("DisplayName") %>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
#13
用模板
#14
用模版列自定义
#15
to mistysunlight(飘渺日光)
是的,ItemTemplate是要在后台构建的,以为ItemTemplate的内容不是固定的,有好几种类型
你的意思是不用GridView吗
是的,ItemTemplate是要在后台构建的,以为ItemTemplate的内容不是固定的,有好几种类型
你的意思是不用GridView吗
#16
------------------------------------------
我再说一下我的问题吧
现在TemplateField需要在后台生成(因为TemplateField里面的列不是固定的,有多种类型)
怎么在后台绑定TemplateField的列到数据表的字段
我知道BoundField绑定很简单,
直接BoundField field = new BoundField()
field.DataField = "name";
gridView1.Columns.Add(field);就可以了
TemplateField该怎么做?
------------------------------------------
我再说一下我的问题吧
现在TemplateField需要在后台生成(因为TemplateField里面的列不是固定的,有多种类型)
怎么在后台绑定TemplateField的列到数据表的字段
我知道BoundField绑定很简单,
直接BoundField field = new BoundField()
field.DataField = "name";
gridView1.Columns.Add(field);就可以了
TemplateField该怎么做?
------------------------------------------
#17
up