我在这里遇到了一些问题。
如何开始编写GridView
并根据GridView
标题逐个手动插入数据库中的数据?
我想创建GridView
,但数据库中的结构不相同。所以,我想根据GridView
标题从数据库中输入值。可能吗?
因为在此之前我只在GridView
中一次性从数据库中检索到了。我不知道如何根据标题GridView
进行检索。我是C#语言的初学者,希望你能给我一些例子吗?谢谢。
以下我到目前为止所做的事情:
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Request Date">
<ItemTemplate>
<asp:Label ID="lblReqDate" runat="server" Text='<%# Eval("request_date") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A01"></asp:TemplateField>
<asp:TemplateField HeaderText="A02"></asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
&#13;
答案 0 :(得分:0)
考虑数据列的分号(;)作为分隔符。然后如下所示 添加带有标签的模板列。
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView3" runat="server" OnRowDataBound="GridView3_RowDataBound" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Request Date">
<ItemTemplate>
<asp:Label ID="lblReqDate" runat="server" Text='<%# Eval("request_date") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A01">
<asp:Label ID="lblA01" runat="server" ></asp:Label>
</asp:TemplateField>
<asp:TemplateField HeaderText="A02">
<asp:Label ID="lblA02" runat="server" ></asp:Label>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
&#13;
现在在数据网格行绑定拆分数据和绑定
protected void GridView3_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label lblA01 = (Label)e.Row.FindControl("lblA01");
Label lblA02 = (Label)e.Row.FindControl("lblA02");
string val = DataBinder.Eval(e.Row.DataItem, "product").ToString();
string[] splittedData = val.Split(';');
if (splittedData.Length > 0)
lblA01.Text = splittedData[0];
if (splittedData.Length > 1)
lblA01.Text = splittedData[1];
}
}
}
希望这有帮助