Jag får inte mina kolumner att synas i datagridet. Du måste göra en DataGridTableStyle. Sök på det ordet för jag vet att det ska finnas några bra exempel här på forumet. DataGridTableStyle funkade bara i win32 och inte i asp.net sa någon till mig. Jag har läst den där artikeln och om jag inte är helt blind så står det inget om hur jag lägger upp BoundColumns från codebehind och det är det jag är ute efter. ÄR det inte nåt sånt här du vill göra, jag tror att du försöker ta en genväg som inte fungerar: Visst borde det funka om man gör som koden ovan? Om du gör precis som i exemplet i länken då? Jaaa!DataGrid... Suck...
Min kod ser ut som nedan i codebehind.
BoundColumn bc = new BoundColumn();
bc.DataField = "Kontakt";
bc.HeaderText = "Contacts";
dg_stat.Columns.Add(bc);
for(int i = 3; i <= ds_stat.Tables["tmpSalesPivot"].Columns.Count - 1; i++)
{
bc.DataField = ds_stat.Tables["tmpSalesPivot"].Columns[i].ColumnName.ToString();
bc.HeaderText = "W. " + ds_stat.Tables["tmpSalesPivot"].Columns[i].ColumnName.ToString();
dg_stat.Columns.Add(bc);
}
Eller kan man ta bort dem från DataSettet på något smidigt sätt?
Jag måste använda SELECT * FROM...Sv: DataGrid... Suck...
<code>
DataGridTableStyle _ts = new DataGridTableStyle();
DataGridColumnStyle _c = new DataGridTextBoxColumn();
_c.MappingName = "Kontakt";
_c.HeaderText = "Contacts";
_c.NullText = "";
ts.GridColumnStyles.Add(_c);
dg_stat.TableStyles.Add(_ts);
</code>Sv: DataGrid... Suck...
När jag skriver "DataGridTableStyle dts = new" så finns inte DataGridTableStyle i det som kommer upp som val sedan.Sv: DataGrid... Suck...
Sv: DataGrid... Suck...
dg_stat.AutoGenerateColumns = false;//ingen autogenerering av kolumner
BoundColumn bc = new BoundColumn();
bc.DataField = "Kontakt";
bc.HeaderText = "Contacts";
dg_stat.Columns.Add(bc);
for(int i = 3; i < ds_stat.Tables["tmpSalesPivot"].Columns.Count ; i++)
{
bc = new BoundColumn();//du måste skapa en ny kolumn...
bc.DataField = ds_stat.Tables["tmpSalesPivot"].Columns[i].ColumnName.ToString();
bc.HeaderText = "W. " + ds_stat.Tables["tmpSalesPivot"].Columns[i].ColumnName.ToString();
dg_stat.Columns.Add(bc);
}
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemWebUIWebControlsBoundColumnClassctorTopic.asp?frame=true
Sv: DataGrid... Suck...
Men den verkar inte ens ta dg_stat.AutoGenerateColumns = false;
Förut hade jag det direkt i <asp:DataGrid ....>.
"Hela" koden ser nu ut så här:
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
LoadSalesStat();
}
public void LoadSalesStat()
{
DataSet ds = new DataSet();
conn.Open();
ds_stat.Clear();
da_salesStat.SelectCommand.Parameters["@emp_id"].Value = Convert.ToInt32(Session["emp_id"]);
da_salesStat.Fill(ds_stat,"tmpSalesPivot");
dg_stat.DataSource = ds_stat.Tables["tmpSalesPivot"].DefaultView;
dg_stat.DataBind();
dg_stat.AutoGenerateColumns = false;//ingen autogenerering av kolumner
BoundColumn bc = new BoundColumn();
bc.DataField = "Kontakt";
bc.HeaderText = "Contacts";
dg_stat.Columns.Add(bc);
for(int i = 3; i < ds_stat.Tables["tmpSalesPivot"].Columns.Count ; i++)
{
bc = new BoundColumn();//du måste skapa en ny kolumn...
bc.DataField = ds_stat.Tables["tmpSalesPivot"].Columns[i].ColumnName.ToString();
bc.HeaderText = "W. " + ds_stat.Tables["tmpSalesPivot"].Columns[i].ColumnName.ToString();
dg_stat.Columns.Add(bc);
}
conn.Close();
}Sv: DataGrid... Suck...
dvs:
public void LoadSalesStat()
{
DataSet ds = new DataSet();
conn.Open();
ds_stat.Clear();
da_salesStat.SelectCommand.Parameters["@emp_id"].Value = Convert.ToInt32(Session["emp_id"]);
da_salesStat.Fill(ds_stat,"tmpSalesPivot");
dg_stat.AutoGenerateColumns = false;//ingen autogenerering av kolumner
BoundColumn bc = new BoundColumn();
bc.DataField = "Kontakt";
bc.HeaderText = "Contacts";
dg_stat.Columns.Add(bc);
for(int i = 3; i < ds_stat.Tables["tmpSalesPivot"].Columns.Count ; i++)
{
bc = new BoundColumn();//du måste skapa en ny kolumn...
bc.DataField = ds_stat.Tables["tmpSalesPivot"].Columns[i].ColumnName.ToString();
bc.HeaderText = "W. " + ds_stat.Tables["tmpSalesPivot"].Columns[i].ColumnName.ToString();
dg_stat.Columns.Add(bc);
}
dg_stat.DataSource = ds_stat.Tables["tmpSalesPivot"].DefaultView;
dg_stat.DataBind();
conn.Close();
}
Sv: DataGrid... Suck...
Jag hade ju satt DataBind på fel plats!
Så går det när man är trött och förkyld.
Tack för hjälpen!