在datagrid中如何显示为密码框
我想在datagrid中输入密码,然后直接update,如何做? 问题点数:30、回复次数:8Top
1 楼yarshray(saga jion(心飘情落))回复于 2002-11-25 15:04:22 得分 8
http://www.dotnet247.com/247reference/msgs/21/106280.aspxTop
2 楼yarshray(saga jion(心飘情落))回复于 2002-11-25 15:18:18 得分 0
webform
Type=passwordTop
3 楼junqiang(蓝色海洋)回复于 2002-11-25 15:59:33 得分 0
1.在http://www.dotnet247.com/247reference/msgs/21/106280.aspx中,显示时可以,但编辑时不行。
2.我是用的winform,Top
4 楼dy_2000_abc(芝麻开门)回复于 2002-11-25 16:52:16 得分 10
在那个例子的基础上改动一下,在构造函数中加入this.TextBox. passwordChar='*',比如:
public class myDataGridTextBoxColumn
{
public myDataGridTextBoxColumn():base()
{
this.TextBox.PasswordChar='*';
}
...
}Top
5 楼idiotzeng(白痴)回复于 2002-11-29 17:25:22 得分 5
这个方法有问题,在密码区做局部修改,提交后,未改动的部分变成了*
例如:
原密码:123,显示为***
在3前插入一个2,目的是得到1223,但提交后却得到了**2*Top
6 楼kinglht(爱新觉罗至尊宝)回复于 2002-11-29 17:34:37 得分 4
up
Top
7 楼ju_feng(NorthSky)回复于 2002-11-29 19:45:09 得分 3
可以自己定义一个datagridcolumnstyle 列在上面浮动一个textbox
够绝的---呵呵!Top
8 楼dy_2000_abc(芝麻开门)回复于 2002-11-30 22:16:13 得分 0
idiotzeng is right.
public class abc:Form
{
...
private void abc_Load(object sender, System.EventArgs e)
{
SqlDataAdapter daa=new SqlDataAdapter("select Name from table1",sqlConnection1);
DataSet ds=new DataSet();
daa.Fill(ds,"abc");
myColumn dc=new myColumn();
dc.MappingName="Name";
DataGridTableStyle dt=new DataGridTableStyle();
dt.MappingName="abc";
dt.GridColumnStyles.Add(dc);
this.dataGrid1.TableStyles.Add(dt);
this.dataGrid1.DataSource=ds;
this.dataGrid1.DataMember="abc";
}
}
public class myColumn:DataGridTextBoxColumn
{
public myColumn()
{
this.TextBox.PasswordChar='*';
}
protected override void Paint(Graphics g,Rectangle rc,CurrencyManager cm,int rowNum,Brush backBrush,Brush foreBrush,bool RtoL)
{
base.Paint(g,rc,cm,rowNum,backBrush,foreBrush,false);
g.FillRectangle(backBrush,rc);
string content=((DataRowView)cm.List[rowNum])[this.MappingName].ToString();
string s="";
for (int i=0;i<content.Length;i++)
s+="*";
g.DrawString(s,this.DataGridTableStyle.DataGrid.Font,foreBrush,rc);
}
}
}Top




