المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : Problem in datagridtextbox column



C# Programming
05-20-2009, 10:50 PM
hell sir,
i am working on datagrid control in c# window application
i use datagridtextbox in datagrid . my probblem is that how can i do datagrid textbox column enable=false if it contains data =sunday

my code is...
try
{
dataGrid1.DataSource=null;
dt.Clear();
dataGrid1.TableStyles.Clear();
ad=new SqlDataAdapter("select * from attendance where months='"+txtmonth.Text+"' and class='"+txtcurrentclass.Text+"' and section='"+txtsection.Text+"' and session='"+Class1.session+"'",cn);
ad.Fill(dt);
dt.Tables[0].DefaultView.AllowNew=false;
dataGrid1.DataSource=dt.Tables[0];

DataGridTableStyle tbl=new DataGridTableStyle();
tbl.MappingName=dt.Tables[0].TableName;

DataGridTextBoxColumn txt=new DataGridTextBoxColumn();
// txt.MappingName=dt.Tables[0].Columns["id"].ColumnName;
// txt.HeaderText="SNo.";
// txt.TextBox.BorderStyle=BorderStyle.FixedSingle;
// txt.TextBox.Enabled=false;
// txt.ReadOnly=true;
// txt.Width=45;
// txt.TextBox.BackColor=Color.Salmon;
// txt.NullText="0";
//
// tbl.GridColumnStyles.Add(txt);
//
txt=new DataGridTextBoxColumn();
txt.MappingName=dt.Tables[0].Columns["Studentcode"].ColumnName;
txt.HeaderText="Student Code";
txt.ReadOnly=true;txt.TextBox.BorderStyle=BorderStyle.FixedSingle;txt.TextBox.BackColor=Color.Salmon ;
txt.TextBox.Enabled=false;
txt.TextBox.WordWrap=true;
txt.Width=160;

txt.Alignment=HorizontalAlignment.Left;


tbl.GridColumnStyles.Add(txt);

//
txt=new DataGridTextBoxColumn();
txt.MappingName=dt.Tables[0].Columns["studentname"].ColumnName;
txt.HeaderText="Name";
txt.TextBox.BorderStyle=BorderStyle.FixedSingle;
txt.TextBox.Enabled=false;
txt.TextBox.BackColor=Color.Salmon;
txt.TextBox.ForeColor=Color.Blue;
txt.ReadOnly=true;
txt.Width=80;
txt.Alignment=HorizontalAlignment.Center;
tbl.GridColumnStyles.Add(txt);


txt=new DataGridTextBoxColumn();
txt.MappingName=dt.Tables[0].Columns[4].ColumnName;
txt.HeaderText="1 "+txtmonth.Text;
txt.TextBox.BorderStyle=BorderStyle.FixedSingle;txt.Alignment=HorizontalAlignment.Center;
txt.Width=65;
if(txt.TextBox.Text==DayOfWeek.Sunday.ToString())
{
txt.ReadOnly=true;
txt.TextBox.BackColor=Color.Red;
}
else
{

txt.ReadOnly=false;
txt.TextBox.BackColor=Color.White;
}
tbl.GridColumnStyles.Add(txt);

txt=new DataGridTextBoxColumn();
txt.MappingName=dt.Tables[0].Columns[5].ColumnName;
txt.HeaderText="2 "+txtmonth.Text;
txt.Width=47;
txt.TextBox.BorderStyle=BorderStyle.FixedSingle;
txt.Alignment=HorizontalAlignment.Center;
if(txt.TextBox.Text==DayOfWeek.Sunday.ToString())
{
txt.ReadOnly=true;
txt.TextBox.BackColor=Color.Red;
}
else
{

txt.ReadOnly=false;
txt.TextBox.BackColor=Color.White;
}
tbl.GridColumnStyles.Add(txt);



txt=new DataGridTextBoxColumn();
txt.MappingName=dt.Tables[0].Columns[6].ColumnName;
txt.HeaderText="3 "+txtmonth.Text ;
txt.Width=47;
txt.TextBox.BorderStyle=BorderStyle.FixedSingle;txt.Alignment=HorizontalAlignment.Center;

if(txt.TextBox.Text==DayOfWeek.Sunday.ToString())
{
txt.ReadOnly=true;
txt.TextBox.BackColor=Color.Red;
}
else
{

txt.ReadOnly=false;
txt.TextBox.BackColor=Color.White;
}
tbl.GridColumnStyles.Add(txt);
//class1
txt=new DataGridTextBoxColumn();

tbl.GridColumnStyles.Add(txt);
dataGrid1.TableStyles.Add(tbl);


my problem is that i want to make textbox readonly in txt.Textbox contains data=sunday and when i scroll data datagrid first three columns do not scroll except else.
please help me ..
http://www.barakasoft.com/script/Forums/Images/smiley_snore.gif