社区
.NET技术其他语言
帖子详情
datagrid的编辑框只提供了两种,一种textbox,一种checkbox,在加上其它样式的时候怎样放置display和value值。
zwq78
2002-07-15 07:06:23
在重载datagridtextboxstyle做一个树样式,在选择后当前行放display值,由于更新数据库的是选择结点的value值,这个值放在一个隐藏列中好吗?有没有更好的方法,如cell带有一个tag值(可通过重载)。但这样做就复杂了。而且在更新回数据库又要多写很多代码。有没有更好的方法。
...全文
137
3
打赏
收藏
datagrid的编辑框只提供了两种,一种textbox,一种checkbox,在加上其它样式的时候怎样放置display和value值。
在重载datagridtextboxstyle做一个树样式,在选择后当前行放display值,由于更新数据库的是选择结点的value值,这个值放在一个隐藏列中好吗?有没有更好的方法,如cell带有一个tag值(可通过重载)。但这样做就复杂了。而且在更新回数据库又要多写很多代码。有没有更好的方法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
duanzj
2002-08-18
打赏
举报
回复
请参见:
http://www.c-sharpcorner.com/Code/2002/Mar/AddingControlsToDataGridTA.asp
zwq78
2002-07-16
打赏
举报
回复
感谢spring_ok(spring.z) ,但是你提供的是asp.net的代码,我其实问的是windowsform的datagrid,另外,你提供的代码中,好象在datagrid中并没有显示出display列,是value列吧?
spring_ok
2002-07-16
打赏
举报
回复
<asp:datagrid id="DataGrid1" runat="server" DataKeyField="SubProgramID" AutoGenerateColumns="false" OnUpdateCommand="DataGrid1_Update" OnCancelCommand="DataGrid1_Cancel" OnEditCommand="DataGrid1_Edit" HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdana" CellPadding="3" BorderWidth="1" BorderColor="black" OnSortCommand="DataGrid1_Sort" AllowSorting="true" OnPageIndexChanged="DataGrid1_Page" AllowPaging="true" PagerStyle-HorizontalAlign="Center" PagerStyle-NextPageText="Next" PagerStyle-PrevPageText="Prev" OnItemDataBound="DataGrid1_ItemDataBound">
<Columns>
<asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update" HeaderText="Edit Sub Program" HeaderStyle-Wrap="False" ItemStyle-VerticalAlign="Top"></asp:EditCommandColumn>
<asp:TemplateColumn HeaderText="Del" ItemStyle-VerticalAlign="Top">
<ItemTemplate>
<asp:HyperLink Runat="server" ID="HyperLink1" NavigateUrl='<%# "SubProgramMan.aspx?Act=Del&SubProgramID=" + DataBinder.Eval(Container.DataItem, "SubProgramID") %>'>Del</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn HeaderText="Sub Program ID" ReadOnly="True" DataField="SubProgramID" SortExpression="SubProgramID" HeaderStyle-Wrap="false" ItemStyle-VerticalAlign="Top"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="Program" SortExpression="ProgramName" ItemStyle-VerticalAlign="Top">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ProgramName") %>' ID="Label4" />
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList runat="server" id="Edit_ProgramID"></asp:DropDownList>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ProgramID") %>' ID="Edit_ProgramID_Label" Visible=False />
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Sub Program Name" SortExpression="SubProgramName" ItemStyle-VerticalAlign="Top">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "SubProgramName") %>' ID="Label1" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" id="Edit_SubProgramName" Text='<%# DataBinder.Eval(Container.DataItem, "SubProgramName") %>' Columns="40" MaxLength="100"/>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
code behind:
public void DataGrid1_ItemDataBound(Object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.EditItem)
{
for (int i = 0; i < e.Item.Controls.Count; i++)
{
try
{
if (e.Item.Controls[i].Controls[1].GetType().ToString() == "System.Web.UI.WebControls.TextBox")
{
TextBox tb = (TextBox)e.Item.Controls[i].Controls[1];
tb.Text = Server.HtmlDecode(tb.Text);
}
}
catch
{
}
}
//generate the list item for the "Edit_ProgramID"
int ProgramID = System.Convert.ToInt32(((Label)e.Item.FindControl("Edit_ProgramID_Label")).Text);
Digicentury.Cip.Components.Cipdb Cipdb = new Digicentury.Cip.Components.Cipdb();
DataTable dt = Cipdb.getAllPrograms();
DataView dv = dt.DefaultView;
dv.Sort = "ProgramName";
DropDownList sltProgramID = ((DropDownList)e.Item.FindControl("Edit_ProgramID"));
sltProgramID.DataTextField="ProgramName";
sltProgramID.DataValueField="ProgramID";
sltProgramID.DataSource = dv;
sltProgramID.DataBind();
for (int i=0;i<sltProgramID.Items.Count;i++)
{
if (System.Convert.ToInt32(sltProgramID.Items[i].Value) == ProgramID)
{
sltProgramID.Items[i].Selected = true;
}
}
}
}
[VB.NET]如何取得DATAGIRD里
CHECKBOX
和
TEXTBOX
的
值
?
<script type="text/javascript"
怎样用JS获取
DataGrid
中
CheckBox
是否选中,并且取得该行的
DataGrid
数据?
select() is an existing method name, try selectObj()void Page_Load(Object sender, EventArgs e) { if (!IsPostBack) { My
DataGrid
.DataSource = new string[] {"a","b","c"}; My
DataGrid
.DataBind(); }} Sp
DataGrid
模板列应用——在
DataGrid
中用
CheckBox
控制
TextBox
的Enabled属性
将模板列的
CheckBox
的AutoPostBack属性设置为true,因为在模板列中的控件没有事件,故在aspx页面写事件程序,同时将
CheckBox
的OnCheckedChanged事件设置为所需要的事件程序。示例如下: void Check_Change(Object sender, EventArgs e) {
TextBox
txtDescription; foreach(DataG
datagrid
列头加txtbox并动态赋
值
,列为
checkbox
赋
值
二法,
datagrid
用DIV动态加滚动条。
1. 列头加txtbox并动态赋
值
先在列上加绑定列,打开绑定列,在header里加
textbox
.private void dg_allItemList_ItemDataBound(object sender, System.Web.UI.WebControls.
DataGrid
ItemEventArgs e) ...{ if(e.Item.It
根據
datagrid
模板列中的
checkbox
填入日期至
textbox
有解嗎?10/17
我有一个用
datagrid
做的页面,在模板列有如下2栏:
checkbox
和
textbox
当我勾选
checkbox
时自动将日期填入
textbox
,若不勾选则
textbox
会清空我的写法如下:function DoCal(){ var e = event.srcElement; var row = e.parentNode.parentNode; var txts = row.all.tags(
.NET技术其他语言
1,979
社区成员
12,447
社区内容
发帖
与我相关
我的任务
.NET技术其他语言
.NET技术 其他语言讨论
复制链接
扫一扫
分享
社区描述
.NET技术 其他语言讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章