domingo, setembro 19, 2010

Criar default values no XSD gerado

Verificar defaults da tabela para cria-los no dataset XSD

SELECT c.COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS c
WHERE c.COLUMN_DEFAULT IS NOT NULL
and c.TABLE_NAME = ''
AND C.COLUMN_NAME = ''

Another Way
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q318048

domingo, setembro 12, 2010

Carregar User Controls em runtime

É possível carregar Usercontrols em runtime usando o método Loadcontrol. É ainda possível definir valores para propriedades que tenhamos criado para os mesmos.

Para podermos carregar os Usercontrol, temos de dizer onde queremos que eles apareçam na nossa página e para isso usamos por exemplo o objecto PlaceHolder:

 Control FeaturedProductUserControl = LoadControl(Request.ApplicationPath + "/UserControls/UCfeeds.ascx");
  
           FeaturedProductUserControl.ID = "UsercontrolID" + counter.ToString();
  
           Type typ = FeaturedProductUserControl.GetType();
  
           //Procurar propriedade definida no objecto Usercontrol
  
           System.Reflection.PropertyInfo pi = typ.GetProperty("nome");
  
           pi.SetValue(FeaturedProductUserControl, "nome", null);
  
           plh1.Controls.Add(FeaturedProductUserControl);  

sexta-feira, setembro 10, 2010

Criar menu com subitems especificados em control menu

Este código permite criar um menu apenas com os subitems de um item especificado.

1:  <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1">
  
2:      <DataBindings>
  
3:        <asp:MenuItemBinding DataMember="SiteMapNode" />
  
4:      </DataBindings>
  
5:    </asp:Menu>
  
6:    <div id="recibo" runat="server">
  
7:      <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false"
  
8:        StartingNodeUrl="~/Users/default.aspx?i=1" />  

Criar combobox com ultimos 12 meses

Com este código pretende-se criar uma combobox carregada com os ultimos 12 meses:

1:  DateTime month = Convert.ToDateTime(DateTime.Now.ToString()).AddMonths(-12);
  
2:        for (int i = 0; i < 12; i++)
  
3:        {
  
4:          DateTime NextMont = month.AddMonths(i);
  
5:          ListItem list = new ListItem();
  
6:          list.Text = NextMont.ToString("yyyy") + "-" + NextMont.ToString("MMMM").PadRight(15);
  
7:          list.Value = NextMont.Month.ToString();
  
8:          ddlmeses.Items.Add(list);
  
9:        }
  
10:        if (SetCurruntMonth == true)
  
11:        {
  
12:          MyddlMonthList.Items.FindByValue(DateTime.Now.Month.ToString()).Selected = true;
  
13:        }  

terça-feira, setembro 07, 2010

Profile asp.net

 A classe ProfileCommon não é gerada quando asp.net Application project. Para isso teremos de utilizar o WebProfileGenerator em:
  
 http://webprofile.codeplex.com/Thread/View.aspx?ThreadId=20291
  
 Para o utilizar com o Visual Studio 2010 temos de colocar uma pasta chamada AddIns e dentro colocar o ficheiro .dll.
  
 Teremos ainda de alterar o ficheiro (WebProfileGenerator.AddIn) de forma a contemplar o seguinte:
  
 (...)
  
 <code>
  
  <HostApplication>
  
   <Name>Microsoft Visual Studio</Name>
  
   <Version>10.0</Version>
  
  </HostApplication>
  
 </code>
  
 (...)
  
 De seguida surge dentro do Visual Studio uma opção (clique lado direito do botão do rato) para gerar a classe profile.
  
 Após classe gerada, podemos por exemplo adicionar uma opção de perfil a um determinado utilizador:
  
 <code>
  
  //Criar o profile para colocar a informacao adicional
  
       WebProfile webProfile = new WebProfile();
  
       WebProfile pro = webProfile.GetProfile(username.Text);
  
       pro.GenericField= ddlphc.SelectedItem.Value;
  
       pro.Save();
  
 </code>
  
 Não esquecer de definir o web.config:
  
 (...)
  
 <code>
  
 <profile defaultProvider="MyProfileProvider" enabled="true">
  
    <providers>
  
     <add name="MyProfileProvider" connectionStringName="intraweb.Properties.Settings.ConnString" applicationName="intraweb" type="System.Web.Profile.SqlProfileProvider, System.Web,Version=2.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxx"/>
  
    </providers>
  
    <properties>
  
     <add name="GenericField" type="String" />
  
    </properties>
  
   </profile>
  
 </code>
  
 (...)  

Verificar também Custom Membership, Role Providers, Website administration tool, and Role based access to individual files:

http://beta.codeproject.com/KB/aspnet/innovative_rolebased_WAT.aspx?msg=3228998

sábado, setembro 04, 2010

JQuery para Date Picker

Primeiro efectuar download de Jquery:
http://jqueryui.com/download/

De seguida integra-lo no VS na solução. Copy paste dos scripts.

Colocar o seguinte código nos header das páginas.


<!-- Jquery para datepicker -->

        "<link href="../js/jquery-ui-1.8.4.custom/css/ui-lightness/jquery-ui-1.8.4.custom.css" rel="stylesheet" type="text/css" />

        <script type="text/javascript" src="../js/jquery-ui-1.8.4.custom/development-bundle/jquery-1.4.2.js"></script>

        <script type="text/javascript" src="../js/jquery-ui-1.8.4.custom/development-bundle/ui/jquery-ui-1.8.4.custom.js"></script>

        <script type="text/javascript" src="../js/jquery-ui-1.8.4.custom/development-bundle/ui/jquery.effects.core.js"></script>

        <script type="text/javascript" src="../js/jquery-ui-1.8.4.custom/development-bundle/ui/jquery.ui.datepicker.js"></script>

        <script type="text/javascript" src="../js/jquery-ui-1.8.4.custom/development-bundle/ui/i18n/jquery.ui.datepicker-pt-BR.js"></script>

        <script type="text/javascript" >

            $(document).ready(function () {

                $.datepicker.setDefaults($.datepicker.regional['']);

                $("input[name*='dtactivodeTextBox']").datepicker($.datepicker.regional['pt-BR']);

                $("input[name*='dtactivodeTextBox']").datepicker();

                $("input[name*='dtactivoateTextBox']").datepicker($.datepicker.regional['pt-BR']);

                $("input[name*='dtactivoateTextBox']").datepicker();

                

            });

        </script>"

        <!-- Fim jquery datepicker -->

Multiselect Gridview

Adicionar propriedade de multiselect com inheritance.

http://www.mostlydevelopers.com/mostlydevelopers/blog/post/2008/09/17/MultiSelect-GridView-Control.aspx

sexta-feira, setembro 03, 2010

Formatar datas em datalist ou Gridview

De forma a aparecer o ShortDate deveremos colocar no itemtemplate o seguinte:

Eval(´date´, ´{0:d}´ )

http://forums.asp.net/t/1230232.aspx

Trocar acentos por aspas.

Plataforma de desenvolvimento: Windows + Visual Studio 2010
Linguagem de programação: .NET 4.0

quinta-feira, setembro 02, 2010

Problema .NET framework 4 com SeparatorImageUrl em MENU (ASP:NET)

O til (~) não é resolvido com Page.resolveclienteUrl.
O workaround para master pages é colocar no page.load:

//Necessário incluir este snipet para resolver questao do resoveclienturl dos separator menus
foreach (MenuItem binding in Menu1.Items)
{
binding.SeparatorImageUrl = ResolveClientUrl(binding.SeparatorImageUrl);
}

http://connect.microsoft.com/VisualStudio/feedback/details/537674/tilde-in-separatorimageurl-of-menuitem-control

Plataforma de desenvolvimento: Windows + Visual Studio 2010
Linguagem de programação: .NET 4.0