在DATAGRID中,如何为模板列的DROPDOWNLIST从数据库中赋值。

fanghaifei 2003-08-24 07:37:56
<asp:TemplateColumn HeaderText="是否残疾">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"是否残疾")%>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="drpCanji" Runat="server" Enabled="True"></asp:DropDownList>
//?如何赋值呢,字段"是否残疾",char类 型。
</EditItemTemplate>
</asp:TemplateColumn>
...全文
52 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fbysss 2003-09-18
  • 打赏
  • 举报
回复
楼上的各位兄弟啊,能不能说详细一点!以上写的这些东东,谁都看得懂,问题是
本人搞了一天,除了UpdateCommand,在各个事件中
都不能得到模板列中的控件,我不知是什么问题!
fanghaifei 2003-08-25
  • 打赏
  • 举报
回复
这个事件是页面初始化的时候开始,还是在什么时候?

还有dd1,如何再传给dropdownlist1呢,还请吉祥多帮忙呀,本人太菜了。
guoyan19811021 2003-08-25
  • 打赏
  • 举报
回复
绑定:
For i = 0 To (c - 1)

'从列表依次选取每行

ddl = DataGrid1.Items(i).FindControl("dropdownlist1")

If (Not (ddl Is Nothing)) Then

'找到每行的下拉框

ddl.DataSource = logsetdata
ddl.DataTextField = "name"
ddl.DataBind()

End If
Next
设置值:
ddl.Items.FindByText("").Selected = True
nnh 2003-08-25
  • 打赏
  • 举报
回复
Sub DropDownList_BindGrid()
CmdSelect=new OleDbCommand("select * from class order by id",MyConnection)
MyConnection.Open
dtrReader=CmdSelect.ExecuteReader()
dropnews.DataSource=dtrReader
dropnews.DataTextField="bigclass"
dropnews.DataValueField="bigclassid"
dropnews.DataBind()
dropnews.Items.Insert(0,new ListItem("ALL NEWS",-1))
dtrReader.close
MyConnection.Close()
End Sub
fanghaifei 2003-08-25
  • 打赏
  • 举报
回复
这个dropdownlist有是和否两个选项呀,现在可以只有一个值可选,麻问各位高手,点编辑按钮时,显示当前值,但也可以再选其它值,如何实现呀。
lcy5415 2003-08-24
  • 打赏
  • 举报
回复
把下面代码中的第二个datagrid改成DropDownList 就可以了

<%@ Page language="c#" Inherits="MasterDetail.CustomerOrderDataGrid" EnableViewState="False" %>
<HTML>
<body style="font: x-small Verdana, Arial, sans-serif;">
<!-- Begin Web Form -->
<form id="CustomerOrderDataGrid" method="post" runat="server">
<p><a href="/DayOfDotNet/">Parent Directory</a></p>

<!-- Begin DataGrid -->
<asp:DataGrid id="CustomerDataGrid" runat="server"
AutoGenerateColumns="False"
CellPadding="2" CellSpacing="0"
Font-Names="Verdana, Arial, sans-serif"
BorderColor="Black" BorderWidth="1"
GridLines="Horizontal"
OnItemDataBound="CustomerDataGrid_OnItemDataBound">

<HeaderStyle
Font-Bold="True" Font-Size="small"
Font-Name="Arial"
BackColor="Maroon" ForeColor="White" />

<ItemStyle Font-Size="x-small" />

<AlternatingItemStyle BackColor="Tan" />

<Columns>

<asp:HyperLinkColumn
DataTextField="CustomerID"
DataNavigateUrlField="CustomerID"
DataNavigateUrlFormatString="OrderDetailDataGrid.aspx?customerid={0}"
HeaderText="ID"
ItemStyle-VerticalAlign="Top" />

<asp:TemplateColumn ItemStyle-VerticalAlign="Top" HeaderText="Customer">
<ItemTemplate>
<b><%# DataBinder.Eval(Container.DataItem, "CompanyName") %></b><br>
<%# DataBinder.Eval(Container.DataItem, "Address" ) %><br>
<%# DataBinder.Eval(Container.DataItem, "City" ) %>,
<%# DataBinder.Eval(Container.DataItem, "Region") %>
<%# DataBinder.Eval(Container.DataItem, "PostalCode" ) %><br>
<br>
<%# DataBinder.Eval(Container.DataItem, "ContactName" ) %><br>
<%# DataBinder.Eval(Container.DataItem, "ContactTitle" ) %><br>
<%# DataBinder.Eval(Container.DataItem, "Phone" ) %>
</ItemTemplate>
</asp:TemplateColumn>

<asp:TemplateColumn
ItemStyle-VerticalAlign="Top"
HeaderText="Orders"
ItemStyle-Width="100%">

<ItemTemplate>

<asp:DataGrid runat="server"
AutogenerateColumns="False"
Width="100%"
GridLines="Horizontal"
BorderColor="Black"
BorderWidth="1"
Font-Name="Verdana"
Font-Size="x-small"
DataSource='<%# getOrdersDataSource( (string)DataBinder.Eval(Container.DataItem, "CustomerID") ) %>'>

<HeaderStyle
BackColor="Black"
ForeColor="White"
Font-Bold="True" />

<ItemStyle BackColor="White" />

<AlternatingItemStyle BackColor="Silver" />

<Columns>
<asp:BoundColumn DataField="OrderID" HeaderText="Order ID" />
<asp:TemplateColumn>
<ItemTemplate>
<b>Order Date: </b>
<%# DataBinder.Eval(Container.DataItem, "OrderDate", "{0:D}" ) %>
<br>
<b>Shipped Date: </b>
<%# DataBinder.Eval(Container.DataItem, "OrderDate", "{0:D}" ) %>
<br>
<b>Required Date: </b>
<%# DataBinder.Eval(Container.DataItem, "OrderDate", "{0:D}" ) %>
<br>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<!-- End DataGrid -->
</form>
<!-- End Web Form -->
</body>
</HTML>

------------------------------------------------------------------

using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace MasterDetail
{
public class CustomerOrderDataGrid : System.Web.UI.Page
{
protected DataGrid CustomerDataGrid;
private DataSet ds = new DataSet();

private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
BindData();
}
}

private void BindData()
{
string sqlStmt = "SELECT * FROM Customers; SELECT * FROM Orders";
string conString = "server=localhost;database=Northwind;uid=sa;pwd=;";

SqlDataAdapter sda = new SqlDataAdapter(sqlStmt, conString);

sda.Fill(ds);
ds.Tables[0].TableName = "Customers";
ds.Tables[1].TableName = "Orders";

CustomerDataGrid.DataSource = ds.Tables["Customers"];
CustomerDataGrid.DataBind();
}

protected DataView getOrdersDataSource(string _customerID)
{
DataView _orders = ds.Tables["Orders"].DefaultView;
_orders.RowFilter = "CustomerID='" + _customerID + "'";
return _orders;
}
}
}
AllRegistered 2003-08-24
  • 打赏
  • 举报
回复
for(int i = 0; i < datagrid1.Items.Count; i++)
{
drpCanji = (DropDownList)datagrid1.Items[i].FindControl("drpCanji");
if(drpCanji != null)
{
//put your databind code here

}
}
saucer 2003-08-24
  • 打赏
  • 举报
回复
two methods

1.
<asp:DropDownList ID="drpCanji" Runat="server" Enabled="True"
DataSource='<%# SomeDataSource%>'
DataTextField='YourTextColumn'
DataValueField='YourValueColumn'
></asp:DropDownList>

2. in DataGrid's ItemDataBound event handler, use caoit's method
caoit 2003-08-24
  • 打赏
  • 举报
回复
先用FindControl在绑定

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧