社区
.NET技术其他语言
帖子详情
datagrid的编辑框只提供了两种,一种textbox,一种checkbox,在加上其它样式的时候怎样放置display和value值。
zwq78
2002-07-15 07:06:23
在重载datagridtextboxstyle做一个树样式,在选择后当前行放display值,由于更新数据库的是选择结点的value值,这个值放在一个隐藏列中好吗?有没有更好的方法,如cell带有一个tag值(可通过重载)。但这样做就复杂了。而且在更新回数据库又要多写很多代码。有没有更好的方法。
...全文
74
3
打赏
收藏
datagrid的编辑框只提供了两种,一种textbox,一种checkbox,在加上其它样式的时候怎样放置display和value值。
在重载datagridtextboxstyle做一个树样式,在选择后当前行放display值,由于更新数据库的是选择结点的value值,这个值放在一个隐藏列中好吗?有没有更好的方法,如cell带有一个tag值(可通过重载)。但这样做就复杂了。而且在更新回数据库又要多写很多代码。有没有更好的方法。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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;
}
}
}
}
Asp.net常用控件名简写对照表
Asp.net常用控件名简写对照表
【MVVM Dev】DataColumn中的
TextBox
与ComboBox的并存
一、前言 在WPF编程中,有时候我们使用
DataGrid
会需要在一个DataColumn中既有
TextBox
,也要有ComboBox或者TextBlock等其他数据显示
样式
。 这个时候我们就需要
DataGrid
TemplateColumn去自定义我们的Column
样式
,通过数据类型去判断该信息是以
TextBox
显示还是以ComboBox来显示。 二、...
c# WPF中通过双击编辑
DataGrid
中Cell的示例(附源码)
背景 在很多的时候我们需要编辑
DataGrid
中每一个Cell,编辑后保存数据,原生的WPF中的
DataGrid
并没有
提供
这样的功能,今天通过一个具体的例子来实现这一个功能,在这个例子中
DataGrid
中的数据类型可能是多种多样的,有枚举、浮点类型、布尔类型、DateTime类型,每
一种
不同的类型需要双击以后呈现不同的效果,本文通过使用Xceed.Wpf.
DataGrid
这个动态控件库来实现这个功能,当前使用的Dll版本是2.5.0.0,不同的版本可能实现上面有差别,这个在使用的时候需要特别注意。 De
c#大圣之路笔记——c#
DataGrid
checkbox
操作
1 ///html 2 3 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="xOEMStoreNominationForCAM.aspx.cs" EnableEventValidation="false" Inherits="PRCSales_external.Store.xOEMStoreNomina...
基于Easyui框架的
datagrid
绑定数据,新增,修改,删除方法(一)
基于Easyui框架的
datagrid
绑定数据,新增,修改,删除方法 第
一种
:https://blog.csdn.net/u012949335/article/details/81943387 第二种:https://blog.csdn.net/u012949335/article/details/81910663 第三种:https://blog.csdn.net/u012949335/arti...
.NET技术其他语言
1,979
社区成员
12,448
社区内容
发帖
与我相关
我的任务
.NET技术其他语言
.NET技术 其他语言讨论
复制链接
扫一扫
分享
社区描述
.NET技术 其他语言讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章