VinnarenMedlem sedan sep. 2005833 inlägg försöker göra en grindView, men vet inte redigt hur jag ska namnge kolumnerna.
har följande kod:
<asp:GridView ID="ugMembers" CssClass="admin_membersList" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="UserName" HeaderText="Användarnamn" />
<asp:BoundField HeaderText="Titel" NullDisplayText="Saknas" />
<asp:BoundField HeaderText="Blogg" />
<asp:CommandField EditText="Visa" SelectText="Visa" ShowSelectButton="True" />
<asp:CommandField EditText="Ändra" ShowEditButton="True" />
</Columns>
</asp:GridView>
Denna ska jag skriva ut mha C#
if (Page.User.IsInRole("siteAdmin"))
{
UserGrid.AutoGenerateDeleteButton = true;
UserGrid.AutoGenerateEditButton = true;
UserGrid.AutoGenerateSelectButton = true;
}
else if (Page.User.IsInRole("bloggAdmin"))
{
UserGrid.AutoGenerateDeleteButton = true;
}
else
{
}
Hur löser man detta??
Tacksam för all hjälp :stud
TravoniMedlem sedan okt. 20041 556 inlägg i Page_Load:
if (Page.User.IsInRole("siteAdmin"))
{
ugMembers.AutoGenerateDeleteButton = true;
ugMembers.AutoGenerateEditButton = true;
ugMembers.AutoGenerateSelectButton = true;
}
else if (Page.User.IsInRole("bloggAdmin"))
{
ugMembers.AutoGenerateDeleteButton = true;
}
else
{
}
...eller?
VinnarenMedlem sedan sep. 2005833 inlägg mja, jag vill ersätta
<asp:GridView ID="ugMembers" CssClass="admin_membersList" runat="server" AutoGenerateColumns="False">
[B] <Columns>
<asp:BoundField DataField="UserName" HeaderText="Användarnamn" />
<asp:BoundField HeaderText="Titel" NullDisplayText="Saknas" />
<asp:BoundField HeaderText="Blogg" />
<asp:CommandField EditText="Visa" SelectText="Visa" ShowSelectButton="True" />
<asp:CommandField EditText="Ändra" ShowEditButton="True" />
</Columns>[/B]
</asp:GridView>
med:
asp:GridView ID="ugMembers" CssClass="admin_membersList" runat="server" AutoGenerateColumns="False">
</asp:GridView>
if (Page.User.IsInRole("siteAdmin"))
{
UserGrid.AutoGenerateDeleteButton = true;
UserGrid.AutoGenerateEditButton = true;
UserGrid.AutoGenerateSelectButton = true;
}
else if (Page.User.IsInRole("bloggAdmin"))
{
UserGrid.AutoGenerateDeleteButton = true;
}
else
{
}
Jag vill alltså skriva ut och koppla ihop kolumnerna i C# koden
VinnarenMedlem sedan sep. 2005833 inlägg löste det med:
BoundField bf = new BoundField();
BoundField bf2 = new BoundField();
BoundField bf3 = new BoundField();
bf.DataField = "UserName";
bf.HeaderText = "Användarnamn";
UserGrid.Columns.Add(bf);
bf2.DataField = "";
bf2.HeaderText = "Behörighet";
UserGrid.Columns.Add(bf2);
if (Page.User.IsInRole("siteAdmin"))
{
bf3.DataField = "";
bf3.HeaderText = "Blogg";
UserGrid.Columns.Add(bf3);
UserGrid.AutoGenerateDeleteButton = true;
UserGrid.AutoGenerateEditButton = true;
UserGrid.AutoGenerateSelectButton = true;
}
else if (Page.User.IsInRole("bloggAdmin"))
{
UserGrid.AutoGenerateDeleteButton = true;
}
men hur gör man så att delete, select, edit länkarna hamnar till höger, nu hamnar de till vänster. :q
VinnarenMedlem sedan sep. 2005833 inlägg hur får man delete att fungera??
får felmeddelandet:
System.Web.HttpException: The GridView 'ugMembers' fired event RowDeleting which wasn't handled.
Har koden
{
GridView UserGrid = (GridView)mvMembers.Controls[1].FindControl("ugMembers");
UserGrid.RowStyle.CssClass = "";
UserGrid.AlternatingRowStyle.CssClass = "oddRow";
// gör så att inte tabellen växer på bredden
if (!IsPostBack)
{
// Bygger upp GrindView:n
BoundField bf = new BoundField();
BoundField bf2 = new BoundField();
BoundField bf3 = new BoundField();
bf.DataField = "UserName";
bf.HeaderText = "Användarnamn";
UserGrid.Columns.Add(bf);
bf2.DataField = "";
bf2.HeaderText = "Behörighet";
UserGrid.Columns.Add(bf2);
UserGrid.AllowPaging = true;
UserGrid.EmptyDataText = "Det finns inga användare att visa";
// Kontrollerar användarens rättighet
if (Page.User.IsInRole("siteAdmin"))
{
lblHeader.Text = "Samtliga medlemmar";
bf3.DataField = "";
bf3.HeaderText = "Blogg";
UserGrid.Columns.Add(bf3);
UserGrid.AutoGenerateDeleteButton = true;
UserGrid.AutoGenerateEditButton = true;
UserGrid.AutoGenerateSelectButton = true;
}
else if (Page.User.IsInRole("bloggAdmin"))
{
lblHeader.Text = "Mina skribenter";
UserGrid.AutoGenerateDeleteButton = true;
}
else
{
lblHeader.Text = "Mina medarbetare";
}
UserGrid.RowDeleting += new GridViewDeleteEventHandler(this.ugMembers_RowDeleting);
UserGrid.DataSource = Membership.GetAllUsers();
UserGrid.DataBind();
}
protected void ugMembers_RowDeleting(Object sender, GridViewDeleteEventArgs e)
{
GridView UserGrid = (GridView)sender;
if (UserGrid.Rows.Count <= 1)
{
e.Cancel = true;
}
}
Hur löser jag detta??
Tacksam för all hjälp :stud
VinnarenMedlem sedan sep. 2005833 inlägg har fått den att fungera hyffsat, men ej ok.
har följande
protected void ugMembers_RowDeleting(Object sender, GridViewDeleteEventArgs e)
{
GridView UserGrid = (GridView)sender;
string userName = UserGrid.SelectedRow.Cells[1].Text;
lblMsg.Text = "ta bort" + userName;
}
När jag klickar på DELETE får jag följande:
Object reference not set to an instance of an object.
på:
string userName = UserGrid.SelectedRow.Cells[1].Text;
hur löser jag detta??
VinnarenMedlem sedan sep. 2005833 inlägg det löste sig efter lite googlande :bla (y) Hade glömt att ange vilket event som var vilket i gindviewen :P
VinnarenMedlem sedan sep. 2005833 inlägg fått problem med gridviewn igen :OO
<asp:GridView
CssClass="admin_comentList"
ID="gvComent"
AllowPaging="True"
AlternatingRowStyle-CssClass="oddRow"
runat="server"
AutoGenerateColumns="False"
DataKeyNames="comID"
DataSourceID="ShowCommentObjectDataSource"
EmptyDataText="Kommentarer saknas."
OnRowCommand="gvComent_RowCommand"
GridLines="Vertical"
PageSize="25">
<Columns>
<asp:BoundField HeaderText="Namn" DataField="Name" />
<asp:BoundField HeaderText="Datum" DataField="Date" />
<asp:BoundField HeaderText="Rubrik" DataField="Header" />
<asp:BoundField HeaderText="Blogg" DataField="bloggName" />
</Columns>
</asp:GridView>
Beroende på vilken behörighet man har på sidan så är det inte alltid DataField="bloggName" returneras till gridviewn. De gånger den inte finns i SELECT-satsen kraschar sidan, hur löser man detta? returneras den inte ska den inte visas
Tacksam för all hjälp :stud