Gridview’de sayfadaki son kaydi silince gridview yok oluyor. Sanirim bir bug. Cozumu ise oldukca basit, iki kere databind() yapmak.
|
||||||
|
Gridview’de sayfadaki son kaydi silince gridview yok oluyor. Sanirim bir bug. Cozumu ise oldukca basit, iki kere databind() yapmak. GridView kontrolüne Entity Data Source ile data bind ettiniz. Sonra RowDataBound event’inde e.Row.DataItem‘i entity class a erişmek istediniz. O da ne, Unable to cast object of type ‘System.Data.Objects.MaterializedDataRecord’ to type ‘ProjectEntities.User’ diye bir hata aldınız. Çözümü aşağıda: Önce Configure Entity Data Source ekranını açın ve orada EntityTypeFilter olarak erişmek istediğiniz class’ı seçin. Daha sonra aşağıdaki extension method’u projenize ekleyin. public static TEntity GetItemObject<TEntity>(object dataItem) where TEntity : class { var entity = dataItem as TEntity; if (entity != null) { return entity; } var td = dataItem as ICustomTypeDescriptor; if (td != null) { return (TEntity)td.GetPropertyOwner(null); } return null; } Artık RowDatabound eventi’nde dönüştürmeyi yapabilirsiniz. protected void grdUsers_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { ProjectEntities.User user = GetItemObject<ProjectEntities.User>(e.Row.DataItem); } } RowDataBound RowDataBound Evet arkadaslar, Qt for Android alpha duyuruldu. Bu, daha once Qt ile yazdiginiz uygulama var ise kolaylikla port edebileceksiniz demek. Qt’u seviyoruz Bilgisayariniza ikinci monitor taktiginizda, ikinci monitorde panel olmayacaktir. Ekleyebilmek icin asagidaki adimlari takip edin.
Artik ikinci monitorde yeni paneliniz var, bu panele sag tiklayarak “Add to Panel” menusunden istediginizi ekleyebilirsiniz. Onerilerim “Window List” ve “Menu Bar” olacak. Sizde benim gibi Visual Studio bagimlisi iseniz ve android icin uygulama gelistirmek istiyorsaniz bu eklenti tam size gore. vs-android eklentisi Visual Studio 2010 ile calisiyor. Tek gereken Andriod NDK (ben henuz denemedim). Detayli bilgi veya test etmek icin tiklayin.
Aslinda iki yolu var fakat birinci yol basarili olunca ikinci yolu deneme ihtiyaci hissetmedim, kesin degildir. Oncelikle belirteyim benim kullandigim dagitim openSuse. 1. Yol: Terminali acin. gconf-editor yazarak enter’a basin. Acilan pencerede/apps/metacity/global_keybindings u acin. panel_main_menu anahtarinin degerini Super_L olarak ayarlayin. Logout – login yaptiktan sonra sol win key inin artik menuyu actigini goreceksiniz. 2. Yol /home/username klasorunde xmodmap isminde bir dosya olusturun ve icine keycode 115 = F13 yazarak kaydedin. Logout-login yaptiginizda size bu dosyayi keymap olarak kullanmak isteyip istemediginiz soracak. Eklediginizde artik sol win tusu F13, sag win tusu F14 olarak ayarlandi. Tus atama ekranindan ayarladiginiz tuslara atama yapabilirsiniz. Eger bilgisayarinizda PresentationFontCache.exe‘nin CPU kullanimi asiri yuksek ise c:\Windows\ServiceProfiles\LocalService\AppData\Local\FontCache4.0.0.0.dat dosyasini silip Task Manager‘dan PresentationFontCache.exe sonlandirarak yeniden baslamasini saglayin, duzelecektir. openSuse uzerinde yeni gnome i test etmek istedim. Kurarken aldigim hata mozilla-js >= 1.9.2 is required. Eksik olan mozilla-js192 gibi gorunsede cozumu sudo zypper install mozilla-xulrunner192-devel ile eksik paketi kurmak. Sprite nesnesi ici bosken boyutlandirilamiyor. Once bir graph olusturup ondan sonra boyutlandirmalisiniz, asagidaki gibi.
public class ClassName extends Sprite
{
private static const WIDTH:int = 300;
private static const HEIGHT:int = 96;
public function ClassName()
{
this.x = 0;
this.y = 0;
this.graphics.beginFill(0xffffff, 0.5);
this.graphics.drawRect(0, 0, WIDTH, HEIGHT);
this.graphics.endFill();
this.width = WIDTH;
this.height = HEIGHT;
}
}
Javascript ile querstring degerlerini dizi halinde almak icin asagidaki fonksiyonu kullanabilirsiniz.
function getQueryString(href) {
var vars = [], hash;
if (typeof href == 'undefined') {
href = window.location.href;
}
var hashes = href.slice(href.indexOf('?') + 1).split('&');
for (var i = 0, len = hashes.length; i < len; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
});
|
||||||
|
Copyright © 2012 Cihan Topcu - All Rights Reserved |
||||||
Recent Comments